劍指offer 把字串轉換為整數

2021-10-07 10:57:44 字數 457 閱讀 6912

題目要求:將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。 數值為0或者字串不是乙個合法的數值則返回0。

這道題的難點在於溢位判斷,但令人遺憾的是溢位的算例似乎取消了,不進行溢位判斷依然能通過除錯。本文的解決方案未進行溢位判斷。

這道題比較簡單,先看第乙個元素是正負號還是數字,確定標誌位。然後如果後面的一直是數字,那就用一直加起來。這裡採用了位運算來代替乘法,可以加快速度。向左移動一位是乘2,移三位是乘8,合起來就是乘10。另外注意字元中的0到9和數字0到9的差別。

int

strtoint

(string str)

else

return0;

for(

int i=

1;i++i)

return sign>

0?res:sign*res;

}

劍指offer 字串轉換為整數

在c語言中,有乙個函式我們可能不經常使用,那就是字串轉換為整數函式 atoi atoi 表示 ascii to integer 是把字串轉換成整型數的乙個函式 atoi 函式會掃瞄引數 nptr字串,跳過前面的空白字元 例如空格,tab縮排等,可以通過isspace 函式來檢測 直到遇上數字或正負符...

劍指offer 將字串轉換為數字

將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入乙個字串,包括數字字母符號,可以為空如果是合法的數值表達則返回該數字,否則返回0示例1 2147483647 1a332147483647 0 include include using na...

劍指offer面試題(49)把字串轉換成整數

name jae chia purpse convert the string to interger date 2014 6 21 功能測試 輸入的字串有正數,負數,和0 特殊輸入測試 輸入字串為null指標,輸入字串為空字串,輸入的字串中除第一位的 外,其餘位還有其他字元 includeusin...