//要注意一个地方就是,当res值为超过边界的时候,需要long long int来存储。因此,声明时候需要long long
class Solution {
public:int atoi(const char *str) {
if(*str == '\0'||str== NULL)return 0;
long long int res = 0;
while(*str == ' ')
str++;
int sign = 1;
if(*str=='-')
{sign=-1;str++;}
else if(*str == '+')
str++;
while(*str>='0' && *str<='9')
{
res=res*10+*str-'0';
if(res*sign>INT_MAX)
{res=INT_MAX;break;}
else if(res*sign<INT_MIN)
{res=INT_MIN;break;}
str++;
}
res*=sign;
return res;
}
};