现在的位置: 首页 > 综合 > 正文

String to Integer (atoi)

2019年11月11日 ⁄ 综合 ⁄ 共 396字 ⁄ 字号 评论关闭

这题的数据好多要注意的细节

class Solution {
    public:
        int atoi(const char *str) {
         int l = strlen(str);
         long long sum = 0, k = 0;
         bool f = 0;
         for(k = 0; k < l; k++){
            if(str[k] == ' ') continue;
            else if(str[k] == '-') {f = 1;k++;break;}
            else if(str[k] == '+') {k++;break;}
            else break;
          }
         for(int i = k; i < l; i++){
            if(str[i] <= '9' && str[i] >= '0')
            {
               sum = str[i]-'0' + sum*10;
            if(f && (-sum <= INT_MIN))
             return INT_MIN;
            if(!f && sum >= INT_MAX)
             return INT_MAX;
            }
           else break;
         }
        if(f) sum *= -1;
        return sum;
        }

};

抱歉!评论已关闭.