题目来源:https://leetcode-cn.com/problems/string-to-integer-atoi/
本题可以暴力求解,考虑各种不同的情况,很繁琐。
使用正则表达式匹配字符串,极大简化:
^:匹配字符串开头
[\+\-]:代表一个+字符或-字符
?:前面一个字符可有可无
\d:一个数字
+:前面一个字符的一个或多个
\D:一个非数字字符
*:一个字符的0个或多个
class Solution(object):
def myAtoi(self, str):
"""
:type str: str
:rtype: int
"""
return max(min(int(*re.findall('^[\+\-]?\d+', str.lstrip())), 2**31-1), -2**31)
参考: