題目描述
解題思路
1、對於輸入左邊有空字符的,首先去掉空字符
2、第一個非空字符必須爲數字或者正負號
3、第一個非空字符不爲數字或者正負號則返回0
4、輸入值不在區間[,]之間的,該值大於則返回2147483647,小於的則返回-2147483648
python代碼
class Solution:
def myAtoi(self, s: str) -> int:
INT_MAX = 2147483647
INT_MIN = -2147483648
str = str.lstrip() #清除左邊多餘的空格
num = num_re.findall('^[\+\-]?\d+',str) #設置規則,查找匹配的內容
num = int(*num) #由於返回的是個列表,解包並且轉換成整數
return max(min(num,INT_MAX),INT_MIN) #返回值
^:匹配字符串開頭
[+-]:代表一個+字符或-字符
?:前面一個字符可有可無
\d:一個數字
+:前面一個字符的一個或多個