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

2022-08-24 01:18:12 字數 795 閱讀 1722

題目描述

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

輸入描述:

輸入乙個字串,包括數字字母符號,可以為空

輸出描述:

如果是合法的數值表達則返回該數字,否則返回0

輸入例子:

+2147483647     1a33

輸出例子:

2147483647     0

解題思路:本題需要考慮幾個方面

1、如果非法輸入,除了結果輸出0,使用全域性g_nstatus來標識(進入函式初始化為不合法,最後合法再置為合法)

2、正負號處理

3、數值越界

1 #include 2

using

namespace

std;

3class

solution ;

6int g_nstatus =kvalid;

7int strtoint(string

str)

19else

if(*cstr == '+'

)2023while(*cstr != '

\0')//

記得是*cstr

2437}38

else

3944}45

if(*cstr == '\0'

)4650}

51return (int

)num;52}

5354

};55

intmain()

56

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

題目 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入描述 輸入乙個字串,包括數字字母符號,可以為空 思路 如果有正負號,先處理正負號,再處理判斷是否為合法字元,思路看不懂可以看 附有注釋,請原諒博主我太懶 class solution e...

劍指offer系列(49) 把字串轉換成整數

題目描述 將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0 輸入乙個字串,包括數字字母符號,可以為空如果是合法的數值表達則返回該數字,否則返回0樣例輸出 2147483647 0 思路分析 題目描述過於簡單了,對於邊界條件,難道讓做題者猜測嗎 手...

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

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