首页 > 代码库 > [LeetCode #8] String to Integer (atoi)

[LeetCode #8] String to Integer (atoi)

Implement atoi to convert a string to an integer.

Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input cases.

Notes: It is intended for this problem to be specified vaguely (ie, no given input specs). You are responsible to gather all the input requirements up front.

 1 int myAtoi(char *s){ 2     int ret = 0; 3     int i = 0; 4     int digit = 0; 5     int sign = 1; 6  7     while(s[i] && s[i] ==  ){ i++; } 8     if (s[i] == +) {sign = 1; i++;} 9     else if (s[i] == -) {sign = -1; i++;}10     11     while (s[i]){12         if ((s[i] <= 9) && (s[i] >= 0)){13             digit = s[i] - 0;14         }15         else{16             break;17         }18         if(2147483647/10 < ret || 2147483647/10 == ret && 2147483647%10 < (s[i] -0)) 19         {20             return sign == -1 ? (-2147483648) : 2147483647;21         } 22         ret = ret * 10 + digit;  23         i++;24     }    25     return ret * sign;26 }

 

[LeetCode #8] String to Integer (atoi)