將乙個字串轉換成乙個整數,要求不能使用字串轉換整數的庫函式。 數值為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,因此需要設定乙個變數區分開來。
classsolution
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 語言一般都能實現基本功能,但不同程式設計師就這道題寫出的 有很大區別,可以說這道題能夠很好地反應出程式設計師的思維和程式設計習慣,因此已經被包括微軟在內的多家公司...