文字列を整数に変換(シミュレーション実装atui)

875 ワード

class Solution
{
public:
    int StrToInt(string str)
    {
        if (str.empty())
            return 0;
        int symbol = 1;//         
        if (str[0] == '-') //      
        {
            symbol = -1;
            str[0] = '0'; //     '0',  0     
        }
        else if (str[0] == '+') //          
        {
            symbol = 1;
            //        str[0]   ‘0’?
            //             symbol                   
            //  str[0]    ‘0’    sum     ,     0         
            str[0] = '0';
        }           
        int sum = 0;
        for (int i = 0; i '9')
            {
                sum = 0;
                break;
            }
            sum = sum * 10 + str[i] - '0';
        }
        return symbol * sum;
    }
};