字符串轉(zhuǎn)換整數(shù)

題目描述


解題思路

正則表達式 描述
^ 匹配字符串開頭
[+-] 代表一個+字符或-字符
? 前面一個字符可有可無
\d 一個數(shù)字
+ 前面一個字符的一個或多個
\D 一個非數(shù)字字符
* 前面一個字符的0個或多個

max(min(數(shù)字, 231 - 1), -231) 用來防止結(jié)果越界

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+')   #設(shè)置正則規(guī)則
        num = num_re.findall(str)   #查找匹配的內(nèi)容
        num = int(*num) #由于返回的是個列表,解包并且轉(zhuǎn)換成整數(shù)
        return max(min(num,INT_MAX),INT_MIN)    #返回值

代碼描述

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容