【Leetcode8】字符串轉換整數

題目描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

解題思路

1、對於輸入左邊有空字符的,首先去掉空字符
2、第一個非空字符必須爲數字或者正負號
3、第一個非空字符不爲數字或者正負號則返回0
4、輸入值不在區間[231-2^{31},23112^{31}-1]之間的,該值大於23112^{31}-1則返回2147483647,小於231-2^{31}的則返回-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:一個數字
+:前面一個字符的一個或多個

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章