字符串转换整数

2020-07-09  本文已影响0人  Liwemg

题目描述


解题思路

正则表达式 描述
^ 匹配字符串开头
[+-] 代表一个+字符或-字符
? 前面一个字符可有可无
\d 一个数字
+ 前面一个字符的一个或多个
\D 一个非数字字符
* 前面一个字符的0个或多个

max(min(数字, 231 - 1), -231) 用来防止结果越界

Python代码

import re
class Solution:
    def myAtoi(self, str: str) -> int:
        INT_MAX = 2147483647    
        INT_MIN = -2147483648
        str = str.lstrip()      #清除左边多余的空格
        num_re = re.compile(r'^[\+\-]?\d+')   #设置正则规则
        num = num_re.findall(str)   #查找匹配的内容
        num = int(*num) #由于返回的是个列表,解包并且转换成整数
        return max(min(num,INT_MAX),INT_MIN)    #返回值

代码描述

上一篇下一篇

猜你喜欢

热点阅读