class Solution {
public:
int myAtoi(string str) {
int i = 0, c = 0;
double sum = 0;
if(str.size() == 0)
return 0;
if(str[0] == '+' || str[0] == '-' || str[0] == ' ' || (str[0] >= '0' && str[0] <= '9'))
{
while(str[i] == ' ')
i++;
if(str[i] == '+')
i++;
else if(str[i] == '-')
{
i++;
c = 1;
}
for(; i < str.size(); i++)
{
if(str[i] < '0' || str[i] > '9')
break;
sum = sum*10 + str[i]-'0';
if(c == 0 && sum >= INT_MAX)
return INT_MAX;
if(c == 1 && sum-1 >= INT_MAX)
return INT_MIN;
}
if(c == 1)
sum = -sum;
}
else
return 0;
return sum;
}
};