劍指offer之 把字串轉換成整數

2021-10-03 16:15:54 字數 541 閱讀 4907

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

由於字串可能首位帶+或-,則需要先判斷首位是否為+,-,數字或其他字元,若為其他字元,則return 0, 否則分為3類,並移除標誌位

其次對字串求和,需要注意的是最終返回的是int,int是有界的,為了防止溢位,我們用long long,最後判斷是否超出int,若超出返回0否則返回即可

class solution 

else if(str[0]=='+')

if(sign == 0)

else if(sign == 1)

else if(sign == 2)

if(res>2147483647 || res<-2147483648)

return 0;

else

return res;

}long long add(string str)

else

}return res;

}};

劍指offer之把字串轉換成整數

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

劍指Offer之把字串轉換成整數

題目描述 寫乙個函式 strtoint,實現把字串轉換成整數這個功能。不能使用 atoi 或者其他類似的庫函式。說明 假設我們的環境只能儲存 32 位大小的有符號整數,那麼其數值範圍為 231,231 1 如果數值超過這個範圍,請返回 int max 231 1 或 int min 231 思路分析...

劍指offer 把字串轉換成整數

字串轉成整數的核心 很簡單,但是需要考慮的各種情況很多。1 首位 的判斷。2 在 的溢位判斷。3 null 空字串的判斷。4 數字後面出現了很多非數字的情況。atoi函式是講前面的數字儲存下來,劍指offer 的 則是返回0。兩種情況都說的通,視情況而定吧。5 開頭出現了很多非數字,中間摻雜著數字的...