Note:
给个字符串转成整数
最前面可能有空格,要扔掉
前面有个符号位,最后要控制一下
然后数字整好了之后后面可能有其他的多余字符,要扔掉
代码如下:
class Solution {
public:
int myAtoi(string s) {
long long res = 0;
int k = 0;
while(k < s.size() && s[k] == ' ') k ++;
if(k == s.size()) return 0;
int minus = 1;
if(s[k] == '-') minus = -1, k ++;
else if(s[k] == '+') k ++;
while(k < s.size() && s[k] >= '0' && s[k] <= '9'){
res = res * 10 + s[k] - '0';
if(res > INT_MAX) break;
k ++;
}
res *= minus;
if(res > INT_MAX) return INT_MAX;
if(res < INT_MIN) return INT_MIN;
return res;
}
};