这道应该是最经典的一道题了吧
class Solution {
public:
int myAtoi(string str) {
int n = str.size();
long long num = 0;
int sig = 1;
int i = 0;
while(str[i] == ' ' && i < n) ++i;
if(str[i] == '-'){
++i;
sig = -1;
}
else if(str[i] == '+') ++i;
for(; i != n ;++i){
if(str[i] > '9' || str[i] < '0')
break;
num = 10 * num + (str[i] - '0');
if((num * sig) > INT_MAX) return INT_MAX;
if((num * sig) < INT_MIN) return INT_MIN;//在循环里判断效果好~
}
return num * sig;
}
};