class Solution {
public:
int strToInt(string str)
{
long int sum = 0;
int i,signal = 1;//负
//判断第一个非空字符
for(i = 0;i < str.size();++i)
{
if(str[i] == ' ')
continue;
else if(str[i] == '-')
{
signal = -1;
i++;
break;
}
else if(str[i] == '+')
{
signal = 1;
i++;
break;
}
else if(str[i]>='0'&&str[i]<='9')
break;
else
return 0;
}
//空字符串
if(i == str.size())
return 0;
else
{
while(str[i]>='0'&&str[i]<='9')
{
sum = sum*10 + str[i]-'0';
//返回判断
if(sum>2147483647)
{
if(sum*signal>2147483647)
return 2147483647;
else if(sum*signal < -2147483648)
return -2147483648;
}
else;
i++;
}
}
return signal*sum;
}
};