leetCode8: String to Integer (atoi)

实现将字符串转换为整数

  1. 从头开始去掉空字符,直到找到第一个非空白字符;
  2. 从这个字符开始(开头字符可以是整数,正号或负号),后面跟随数字;
  3. 如果开头字符不是整数,正号或负号,则返回0
  4. 如果数字大于(2**31 − 1)或者小于(−2**31) ,则返回 (2**31 − 1) 或 (−2**31)
  5. 遇到小数要转换成整数
  6. 如果为空字符串或其他情况,全部返回0
Example 1:
Input: "42"
Output: 42
Example 2:
Input: "   -42"
Output: -42
Example 3:
Input: "4193 with words"
Output: 4193
Example 4:
Input: "words and 987"
Output: 0
Example 5:
Input: "-91283472332"
Output: -2147483648
import re
class Solution:
    def myAtoi(self,str):
        r = re.match(r"[-+]?\d+", str.lstrip())
        if r and 2**31-1<int(r.group(0)):
            return 2**31-1  
        else if r and int(r.group(0))<-2**31 :
            return -2**31 
        else if r else 0:
            return int(r.group(0)) 

此题在某种程度上考察的是正则表达式,还有字符串函数rstrip,所以基础知识一定要扎实。

相关要点知识链接:

python正则表达式
正则表达式语法
python字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值