class Solution {
public:
int myAtoi(string str) {
if(str.empty())
return 0;
int result = 0;
int sign = 1;
auto begin = str.begin();
for(;*begin == ' ';++begin);
if(*begin == '+')
++begin;
else if(*begin == '-')
{
sign = -1;
++begin;
}
for(;begin != str.end();++begin)
{
if(*begin<='9' && *begin>='0'){
if(result>INT_MAX/10 || result == INT_MAX/10 && *begin>'7')
{
return sign == 1?INT_MAX:INT_MIN;
}
result = result*10 + (*begin-'0');
}
else
break;
}
return result*sign;
}
};