题目链接:https://leetcode-cn.com/problems/ba-zi-fu-chuan-zhuan-huan-cheng-zheng-shu-lcof/
题目如下:
class Solution {
public:
int strToInt(string str) {
if(str.size()==0) return 0;
str.erase(0,str.find_first_not_of(' '));
if(isdigit(str[0])==false&&str[0]!='+'&&str[0]!='-') return 0;
//处理符号
int flag=1,i=0;
if(str[0]=='+') i++;
else if(str[0]=='-') {
flag=-1;i++;}
//计算数值
long long result=0;
for(;i<str.size();i++){
if(isdigit(str[i])) result=result*10+str[i]-'0';
else break;
//及时判断是否超限
if(flag==1&&result>=INT_MAX) return INT_MAX;
else if(flag==-1&&-result<=INT_MIN) return INT_MIN;
}
return result*flag;
}
};