/**************************************************************************
*
* 8. [String to Integer (atoi)](https://leetcode.com/problems/string-to-integer-atoi/)
*
* Implement the myAtoi(string s) function,
* which converts a string to a 32-bit signed integer (similar to C/C++'s atoi function).
*
**************************************************************************/
int myAtoi(char * s){
if (NULL == s) return 0;
char sign = 1;
long long sum = 0;
while (*s == ' ') s++;
if (*s == '+') s++;
else if (*s == '-') s++, sign = -1;
while (*s >= '0' && *s <= '9') {
// 判断倒数第二位有没有超过 若没有超过,判断下一位
if (sum > INT_MAX / 10 || (sum == INT_MAX /10 && *s -'0' > INT_MAX % 10))
return sign == -1 ? INT_MIN : INT_MAX;
sum = sum * 10 + *s -'0';
s++;
}
return sum * sign;
}