參考文獻
實現乙個atoi
函式,使其能將字串轉換成整數
example
輸入: " -42"
輸出: -42
首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。
當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號;假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。
有bug的結果
class solution
};
別人的思路
class solution
// 2. 檢查符號
if (str[i] == '-')
if (str[i] == '+' || str[i] == '-')
// 3. 計算數字
while (i < str.size() && isdigit(str[i]))
// ------------------------------------
res = res * 10 + r;
i++;
}return flag > 0 ? res : -res;
}};
python 實現class
solution
:def
myatoi
(self,
str:
str)
->
int:
ifstr
==""
:return
0 start=
0for start in
range
(len
(str))
:ifstr[start]
!=' '
:break
isnegative=
false
ifstr
[start]
=='+'
: isnegative=
false
start+=
1elif
str[start]
=='-'
: isnegative=
true
start+=
1 start=start
result=
0while
(start<
len(
str)
andstr
[start]
in'0123456789'):
result=result*10+
int(
str[start]
) start=start+
1if isnegative:
result=
-result
if result>2**
31-1:
return2**
31-1if result<-2
**31
:return-2
**31
return result
c++ prime 第5版
c++ 標準庫
devdocs
8 字串轉換整數 atoi
題目描述 請你來實現乙個atoi函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的...
8 字串轉換整數(atoi)
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...
17 字串轉換整數 atoi
請你來實現乙個atoi函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組...