50把字串轉換成整數

2022-07-29 02:42:08 字數 982 閱讀 1961

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

輸入描述:

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

輸出描述:

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

示例1輸入

+2147483647

1a33

輸出2147483647

0

這道題目真的很簡單,不要畏難!!嘿嘿。。。

思路:這道題其實沒有想象的那麼多的邊界條件,也沒有那麼繁瑣。首先理解題目意思,是字串轉換為整數,不是小數,沒有小數點或科學計數法的考量。

然後乙個字元轉換為整數的方法是,res = res * 10 + str[i] - '0';

邊界情況

1)開始都是空格

2)考量第乙個出現的字元是+,-

3)轉換的數字大於int_max,小於int_min。

4)出現其他非數字字元。

使用乙個全域性變數記錄是否是輸入錯誤,因為return 0有很多種情況,也可能是字串就乙個0,返回也是0,因此需要設定乙個變數區分開來。

class

solution

int i = 0

;

for(i = 0;i < str.size();++i)

else

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

else

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

//轉換數字

int res = 0

;

for(i;i < str.size();++i)

if((str[i] - '

0' >= 0) && (str[i] - '0'

<= 9

))

else

}return head *res;

}};

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數345 分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用作...

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數 345。分析 這道題儘管不是很難,學過c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司用...

把字串轉換成整數

題目 輸入乙個表示整數的字串,把該字串轉換成整數並輸出。例如輸入字串 345 則輸出整數 345。分析 這道題儘管不是很難,學過 c c 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司...