QJ8 字串轉整數 atoi

2021-08-21 07:49:31 字數 1227 閱讀 4458

實現atoi,將字串轉為整數。

在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。

字串可以在形成整數的字元後面包括多餘的字元,這些字元可以被忽略,它們對於函式沒有影響。

當字串中的第乙個非空字串行不是個有效的整數;或字串為空;或字串僅包含空白字元時,則不進行轉換。

若函式不能執行有效的轉換,返回 0。

說明:

假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231,  231 − 1]。如果數值超過可表示的範圍,則返回  int_max (231 − 1) 或 int_min (−231) 。

思路要清晰,什麼情況對應什麼結果,獻上渣圖一張

超開心!!!leetcode刷題以來第一次自己排查錯誤,ac了所有測試用例。

錯誤總結:

(1)輸入「42」時,我的輸出是 570,一臉懵逼,原來是

求result時馬虎了直接加上str[i],but這是乙個字元啊,必須轉化成數字加進去:str[i] - 『0』

(2)輸入「+1」,我的輸出「-1」,原來是第乙個出現 + 或 - 號時,判斷條件又馬虎寫錯了,應該是

if( str[i] == ........),我寫成了 if( i == ........)

完結~~

8 字串轉整數(atoi)

實現atoi,將字串轉為整數。說明 這題解釋的比較模糊 即沒有指定輸入格式 你得事先匯集所有的輸入情況。atoi的要求 這個函式需要丟棄之前的空白字元,直到找到第乙個非空白字元。之後從這個字元開始,選取乙個可選的正號或負號後面跟隨盡可能多的數字,並將其解釋為數字的值。字串可以在形成整數的字元後包括多...

8 字串轉整數 atoi

一 題目 實現atoi,將字串轉為整數。在找到第乙個非空字元之前,需要移除掉字串中的空格字元。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成整數的...

8 字串轉整數 atoi

測試案例 2 預期是0 2.14預期是2 0 123 預期是0 9223372036854775808 預期是2147483647 234 預期是0 123 預期是123 下面是反覆根據測試案例最後除錯成功,考慮情況太多複雜。不太好。class solution int temp str i 0 i...