字串轉換整數

2021-10-12 19:53:22 字數 1195 閱讀 5890

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 不是數字的字元遍歷完,逐個將數字字元轉化為整數,...