这道题给我自信哈哈
class Solution {
public:
int myAtoi(string str) {
int INTMAX = 2147483647;
int INTMIN = -2147483648;
int error = 0;
int op = 0;
int flag = 0;
vector<int>ss;
for(int i = 0;i<str.size();i++)
{
if(!flag)
{
if(str[i] == '+' || str[i] == '-')
{
flag = 1;
if(str[i] == '-') op = 1;
}
else if(isdigit(str[i]))
{
flag = 1;
ss.push_back(str[i]-'0');
}
else if(str[i]!=' ')
{
error = 1;
return 0;
}
}
else
{
if(isdigit(str[i]))
{
ss.push_back(str[i]-'0');
}
else
{
break;
}
}
}
cout<<ss.size()<<endl;
long long sum = 0;
for(int i = 0;i<ss.size();i++)
{
if(sum>INTMAX)
{
break;
}
sum = sum*10 + ss[i];
}
if(op) sum = -sum;
if(sum>INTMAX) return INTMAX;
else if(sum < INTMIN) return INTMIN;
return sum;
}
};