仔細點比啥都強。 ——提交錯誤9次的我如是說到。步驟如下
1.清除空格2.判斷正負號,以及是不是以字母開頭。
3.讀取數字,判斷是否超過int的邊界。
在判斷邊界時,可以先將數字存在long型別中來和int_max、int_min比較,最後轉化為int型返回。
但是題幹不允許。qaq
class
solution
else
if(str[index]
=='+'
)//第乙個字母是正號
else
if(str[index]
<
'0'||str[index]
>
'9')
//第乙個字母是奇怪的東西
while
(indexsize()
&&str[index]
>=
'0'&&str[index]
<=
'9')
return sign*
(int
)num;}}
;
不使用long
class
solution
else
if(str[index]
=='+'
)//第乙個字母是正號
else
if(str[index]
<
'0'||str[index]
>
'9')
//第乙個字母是奇怪的東西
while
(indexsize()
&&str[index]
>=
'0'&&str[index]
<=
'9')
else
if(num==int_max/10)
num=num*
10+str[index]
-'0'
; index++;}
return sign*
(int
)num;}}
;
leetcode 8 字串轉換整數
思路 1 首先去除空白符,然後判斷字元是否為空,為空 當原字串是空或者全空格符 返回0 2若第乙個非空字元為 號 if只有乙個字元 或者 第二個字元不是數字,返回0 這裡邏輯要注意 這裡面or的邏輯是 只有乙個字元 or 有2個字元且第二個字元不為數字 else 遍歷字串,若當前字元是整數,加入re...
LeetCode 8 字串轉換整數
題目描述 請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連...
leetcode 8 字串轉換整數
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...