劍指offer 把字串轉換成整數

2021-06-25 11:42:59 字數 610 閱讀 5738

字串轉成整數的核心**很簡單,但是需要考慮的各種情況很多。

1、首位+、-的判斷。

2、在+、-的溢位判斷。

3、null、空字串的判斷。

4、數字後面出現了很多非數字的情況。atoi函式是講前面的數字儲存下來,《劍指offer》的**則是返回0。兩種情況都說的通,視情況而定吧。

5、開頭出現了很多非數字,中間摻雜著數字的出現,直接返回0。

#include using namespace std;

enum;

int status=kvalid;

long strtointcore(const char* digit, bool minus)

digit++;

} else

}if (*digit=='\0')

return num;

}int strtoint(const char* str)

else if(*str=='-')

if (*str!='\0')

}return num;

}int main()

{ char str[100];

while(cin>>str){

cout<

《劍指offer》 把字串轉換成整數

題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。這種題目交代不清楚,也沒啥技巧含量和思考價值,既然出現了,就順帶著做一下吧。code t 把字串轉換成整數 題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。date 2015.12.10 20 17 auth...

劍指offer 把字串轉換成整數

輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回該數字,否則返回0 示例1 輸入 2147483647 1a33 輸出 2147483647 0class solution int g status valid int strtoint string str ...

劍指offer 把字串轉換成整數

將乙個字串轉換成乙個整數 實現integer.valueof string 的功能,但是string不符合數字要求時返回0 要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0。輸入描述 輸入乙個字串,包括數字字母符號,可以為空 輸出描述 如果是合法的數值表達則返回該數字,否...