这题的难点在于需要很多特判以及边界情况,而一个好的解决办法就是引入正则匹配:
class Solution:
def myAtoi(self, s: str) -> int:
return max(min(int(*re.findall('^[\+\-]?\d+', s.lstrip())), 2**31 - 1), -2**31)
[\+\-]代表正负号,?表示前面一个符号可有可无,\d代表正整数,+代表前面一个数字可以有多个。
这题的难点在于需要很多特判以及边界情况,而一个好的解决办法就是引入正则匹配:
class Solution:
def myAtoi(self, s: str) -> int:
return max(min(int(*re.findall('^[\+\-]?\d+', s.lstrip())), 2**31 - 1), -2**31)
[\+\-]代表正负号,?表示前面一个符号可有可无,\d代表正整数,+代表前面一个数字可以有多个。