首页 > 代码库 > String to Integer (atoi)

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 class Solution { 2 public: 3     int atoi( const char *str ) { 4         double ret = 0, sign = 1.0; 5         while( *str != \0 && *str ==   ) { ++str; } 6         if( *str == + || *str == - ) { sign = *(str++) == + ? 1.0 : -1.0; } 7         while( *str >= 0 && *str <= 9 ) { 8             ret = 10*ret + sign*( *(str++)-0 ); 9         }10         if( ret > INT_MAX ) { return INT_MAX; }11         if( ret < INT_MIN ) { return INT_MIN; }12         return (int)ret;13     }14 };

 

String to Integer (atoi)