class Solution
{
public:
int myAtoi(string s)
{
int len = s.size();
long long int tmp = 0;
bool flag = true;
for (int i = 0; i < len; ++i)
{
while (s[i] == ' ')
{
++i;
continue;
}
if (s[i] == '-')
{
flag = false;
++i;
}
else if (s[i] == '+')
{
++i;
}
while (i<len && isdigit(s[i]))
{
tmp = tmp * 10 + s[i] - '0';
if (tmp > INT_MAX)
{
if (flag)
{
tmp = INT_MAX;
return tmp;
}
else
{
tmp = -INT_MAX - 1;
return tmp;
}
}
++i;
}
break;
}
if (flag)
{
return tmp;
}
else
{
return -tmp;
}
}
};
int main()
{
Solution A;
cout << A.myAtoi("-+12") << endl;
return 0;
}