package daily20201224;
/** * @author : zhaoliang
* @program :newcoder
* @description : 字串轉換整數
* @create : 2020/12/24 20:34
*/public
class
myatoi
// 1、去除前導空格
char
chars =s.
tochararray()
;int start =0;
while
(start < s.
length()
&& chars[start]
==' '
)// 2、如果已經遍歷完成(針對極端用例 " ")
if(start == s.
length()
)int sign =1;
char firstchar = chars[start];if
(firstchar ==
'+')
else
if(firstchar ==
'-')
int res=0;
while
(start < s.
length()
)// 題目中說:環境只能儲存 32 位大小的有符號整數,因此,需要提前判:斷乘以 10 以後是否越界
if(res > integer.max_value /
10||
(res == integer.max_value /
10&&
(curchar -
'0')
> integer.max_value %10)
)if(res < integer.min_value /
10||
(res == integer.min_value /
10&&
(curchar -
'0')
>
-(integer.min_value %10)
))res = res *
10+ sign *
(curchar -
'0')
; start++;}
return res;
}}
字串轉換整數
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...
字串轉換整數
請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...
字串轉換整數
不需要讀入空格,因此無論左邊有多少空格直接跳過,移動str指標到第乙個不是空格的位置上。然後判斷符號位,存在三種情況 和無正負號,當沒有符號的時候不需要任何操作,當是 號時使s 1。設定flag 0 flag作用下面詳細說明 遇到其他字元,break 不是數字的字元遍歷完,逐個將數字字元轉化為整數,...