牛客题霸 [将字符串转化为整数] C++题解/答案
生活随笔
收集整理的這篇文章主要介紹了
牛客题霸 [将字符串转化为整数] C++题解/答案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
牛客題霸 [將字符串轉化為整數] C++題解/答案
題目描述
實現函數 atoi 。函數的功能為將字符串轉化為整數
提示:仔細思考所有可能的輸入情況。這個問題沒有給出輸入的限制,你需要自己考慮所有可能的情況。
題解:
題目很簡單,但是坑特別多
首先讀入的數據并非正常,除了負號開頭,也有正號開頭,還有空格開頭,這些都要特殊判斷,
其次最后的答案如果超過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;} };總結
以上是生活随笔為你收集整理的牛客题霸 [将字符串转化为整数] C++题解/答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java安全(三)RMI
- 下一篇: 牛客题霸 [滑动窗口的最大值] C++题