牛客题霸 [将字符串转化为整数] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [将字符串转化为整数] C++题解/答案
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
??皖}霸 [將字符串轉(zhuǎn)化為整數(shù)] C++題解/答案
題目描述
實現(xiàn)函數(shù) atoi 。函數(shù)的功能為將字符串轉(zhuǎn)化為整數(shù)
提示:仔細(xì)思考所有可能的輸入情況。這個問題沒有給出輸入的限制,你需要自己考慮所有可能的情況。
題解:
題目很簡單,但是坑特別多
首先讀入的數(shù)據(jù)并非正常,除了負(fù)號開頭,也有正號開頭,還有空格開頭,這些都要特殊判斷,
其次最后的答案如果超過int的最大值就是輸出int最大值,如果小于int最小值就要輸出int最小值
代碼:
class Solution { public:int atoi(const char *str) {bool iff=0;long long sum=0;for(int i=0;i<strlen(str);i++){if(str[i]=='-'){iff=1;continue;}if(str[i]=='+')continue;if((str[i]>'9'||str[i]<'0')&&sum==0)continue;if((str[i]>'9'||str[i]<'0')&&sum!=0)break;sum=sum*10+(str[i]-'0');}if(iff==1)sum=sum*(-1);if(sum>INT_MAX)return INT_MAX;else if(sum<INT_MIN)return INT_MIN;return sum;} };總結(jié)
以上是生活随笔為你收集整理的牛客题霸 [将字符串转化为整数] C++题解/答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java安全(三)RMI
- 下一篇: 牛客题霸 [滑动窗口的最大值] C++题