class Solution {
public:
int myAtoi(string str)
{
int n=str.size();
int flag=1,i=0,ret=0;
if(n==0)
return 0;
while(str[i]==' ')
i++;
if(str[i]=='+')
i++;
else if(str[i]=='-')
{
i++;
flag=-1;
}
while(i<n)
{
if(str[i]<'0'||str[i]>'9')
return flag*ret;
int digit=str[i]-'0';
if(flag==1&&10.0*ret+digit>INT_MAX)
return INT_MAX;
if(flag==-1&&-(10.0*ret+digit)<INT_MIN)
return INT_MIN;
ret=ret*10+digit;
i++;
}
return ret*flag;
}
};
public:
int myAtoi(string str)
{
int n=str.size();
int flag=1,i=0,ret=0;
if(n==0)
return 0;
while(str[i]==' ')
i++;
if(str[i]=='+')
i++;
else if(str[i]=='-')
{
i++;
flag=-1;
}
while(i<n)
{
if(str[i]<'0'||str[i]>'9')
return flag*ret;
int digit=str[i]-'0';
if(flag==1&&10.0*ret+digit>INT_MAX)
return INT_MAX;
if(flag==-1&&-(10.0*ret+digit)<INT_MIN)
return INT_MIN;
ret=ret*10+digit;
i++;
}
return ret*flag;
}
};