3.atoi()函数
class Solution {
public:
int myAtoi(string str) {
const char *s = str.c_str();
// bool int_ = true;
int res=0;
while(*s == ' ' && *s!='\0') ++s;
if (*s == '\0') {
return 0;
}else{
// *s = str.c_str();
bool positive = true;
if (*s == '-'){
++s;
positive=false;
}else if(*s == '+'){
++s;
}
int res=0;
while(*s!='\0'){
if (*s >= '0'&&*s<='9')
{
if(res>=(INT_MAX-(*s-'0'))/10+((INT_MAX-(*s-'0'))%10==0?0:1))
{
res = INT_MAX;
}
else if(res<=(INT_MIN+(*s-'0'))/10+((INT_MIN+(*s-'0'))%10==0?0:-1)){
res = INT_MIN;
}
if(res != INT_MAX && res != INT_MIN) {
// cout<<*s;
res = res*10 + (*s-'0')*(positive?1:-1);
// cout<<res;
}
}
else{
break;
}
s++;
}
// cout<<res<<endl;
return res;
}
}