class Solution {
public:
int strToInt(string str) {
long long ans=0;
int k=1,i=0;
for(;i<str.size()&&str[i]==' ';i++);//过滤空格
//检查正负号
if(str[i]=='+') k=1,i++;
else if(str[i]=='-') k=-1,i++;
int j=i;
for(;j<str.size()&&(str[j]>='0'&&str[j]<='9');j++);//排除后面的杂七杂八
for(;i<j;i++)
{
ans+=(str[i]-'0')*(long long)pow(10,j-i-1);
}
ans=ans*k;
if(ans>INT_MAX) return INT_MAX;
if(ans<INT_MIN) return INT_MIN;
return ans;
}
};