原题链接:
https://leetcode-cn.com/problems/string-to-integer-atoi/
https://leetcode-cn.com/problems/ba-zi-fu-chuan-zhuan-huan-cheng-zheng-shu-lcof/
int myAtoi(string str) {
int res=0, i=0, flag=1;
while(str[i]==' '){i++;}//先去除头部空格
if(str[i]=='-'){flag=-1;}//如果头部有-,则flag设置为负数
if(str[i]=='+'||str[i]=='-'){i++;}
while(i<str.size()&&isdigit(str[i])){
int r=str[i]-'0';
if(res>INT_MAX/10||(res==INT_MAX/10&&r>7)){//判断溢出,INT_MAX为2147483648
return flag>0?INT_MAX:INT_MIN;
}
res=res*10+r;
i++;
}
return flag>0?res:-res;
}