class Solution {
public:
int atoi(const char *str) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
while(*str==' ') str++;
int result=0;
bool isNe=false;
char firstChar=*str;
if(firstChar=='-') {isNe=true;str++;}
if(firstChar=='+') {isNe=false;str++;}
while(*str>='0'&&*str<='9')
{
if(result>214748364||(result==214748364&&*str>'7'))
{
return isNe? INT_MIN:INT_MAX;
}
result=result*10+(*str-'0');
str++;
}
return isNe?-result:result;
}
};
注意溢出的情况, INT_MAX (2147483647) or INT_MIN (-2147483648) is returned.