原题地址(中等)
和第7题差不多
代码
class Solution {public:int myAtoi(string s) {if(s.size() == 0) return 0;int i = 0, begin, end, flag = 1;while(s[i] == ' ') i++; // 去空白符if(s[i] == '+' || s[i] == '-' || isdigit(s[i])){ //记下数字的正负if(s[i] == '-') flag = -1;if(!isdigit(s[i])) i++;}else return 0;if(isdigit(s[i])){ // 开始存数int ans = 0;while(isdigit(s[i])){if(ans < INT_MIN / 10 || (ans == INT_MIN/10 && s[i] > '8'))return INT_MIN;else if( ans > INT_MAX/10 || (ans == INT_MAX/10 && s[i]>'7') )return INT_MAX;elseans = ans*10 + flag*(s[i]-'0');i++;}return ans;}return 0;}};
