轉換字串到整數

2021-07-15 10:32:17 字數 590 閱讀 7342

實現atoi這個函式,將乙個字串轉換為整數。如果沒有合法的整數,返回0。如果整數超出了32位整數的範圍,返回int_max(2147483647)如果是正整數,或者int_min(-2147483648)如果是負整數。

您在真實的面試中是否遇到過這個題? yes

樣例 「10」 =>10

「-1」 => -1

「123123123123123」 => 2147483647

「1.0」 => 1

標籤 相關題目

這道題目在lintcode上屬於困難題目,個人認為思想比較簡單,只是有很多細節問題需要考慮。

①要去除字串前後的空格

②去除空格後考慮第乙個字元是』+』,』-『,作乙個sign的標記。

③字串遍歷時候遇到非法字元就停止,返回非法字元前的整數。

④和int_max(min)比較時,注意變數的資料型別,要宣告成long long或者double型別。

int atoi(string str)

if(str[i]=='+')

for(;ireturn base*sign;

}

字串轉換整數

請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...

字串轉換整數

請你來實現乙個 atoi 函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字...

字串轉換整數

不需要讀入空格,因此無論左邊有多少空格直接跳過,移動str指標到第乙個不是空格的位置上。然後判斷符號位,存在三種情況 和無正負號,當沒有符號的時候不需要任何操作,當是 號時使s 1。設定flag 0 flag作用下面詳細說明 遇到其他字元,break 不是數字的字元遍歷完,逐個將數字字元轉化為整數,...