力扣 8 字串轉換整數

2021-09-26 19:36:51 字數 1057 閱讀 7430

#去掉左邊空字元

str=str.lstrip()

#如果字串為空,返回0

if len(str)==0:

return 0

#設定預設輸出為0

last=0

#如果有符號設定起始位置2,其餘的為1

if str[0]=='-'or str[0]=='+':

i = 2

else:

i = 1

#直到無法強制轉換為整數,跳出迴圈

while i <= len(str):

try:

last=int(str[:i])

i+=1

except:

break

#判斷整數範圍

int_max = 2 ** 31 -1

int_min = - 2 ** 31

if last > int_max:

last = int_max

if last < int_min:

last = int_min

return last

'''#使用正規表示式

'''^:匹配字串開頭

[\+\-]:代表乙個'+'或者'-'

?:前面的字元可選(可以有也可以沒有)

\d:乙個數字

+:前面乙個字元的乙個或者多個

*:前面乙個字元的0個或多個

'''return max(min(int(*re.findall('^[\+\-]?\d+', str.lstrip())), 2**31 - 1), -2**31)

正規表示式解法:

強制int解法:

力扣 8 字串轉換整數 atoi

一 題目描述 請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之...

力扣 8 字串轉換整數 atoi

請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。接下來的轉化規則如下 如果第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字字元組合起來,形成乙個有符號整數。假如第乙個非空字元是數字,則直接將其與...

力扣 8 字串轉換整數 atoi

題目 請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。接下來的轉化規則如下 如果第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字字元組合起來,形成乙個有符號整數。假如第乙個非空字元是數字,則直接...