【Leet Code】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.
字符串的操作。敲代码常常性遇到。string这个类真的很实用哟,题目要求自行实现atoi的功能:
class Solution 
{
public:
    int atoi(const char *str) 
    {
        while(' ' == *str)
        {
            str++;
        }
        bool isNegative = false;
        if('-' == *str) 
        {
            isNegative = true;
            str++;
        } 
        else if('+' == *str) 
        {
            str++;
        }
        long long ret = 0;
        while(*str) 
        {
            if( isdigit(*str) ) 
            {
                ret = ret * 10 + (*str - '0');
                if(isNegative && (-ret <= INT_MIN))
                {
                    return INT_MIN;
                }
                if(!isNegative && (ret >= INT_MAX))
                {
                    return INT_MAX;
                }
            } 
            else 
            {
                break;
            }
            str++;
        }
        return (isNegative ? -ret : ret);
    }
};
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号