LeetCode

LeetCode-08 字符串转换整数(aoti)

nkul · 9月4日 · 2020年 · · 59次已读
class Solution {
public:
    int myAtoi(string str) {
        int k = 0;
        //清除前面空串
        while(k < str.size() && str[k] == ' ') k++;
        //str为空串直接返回0
        if(k == str.size()) return 0;
        //判断符号
        int minus = 1;
        if(str[k] == '+') minus = 1, k++;
        else if(str[k] == '-') minus = -1,k++;

        int res =0;
        while(k='0' && str[k]<='9'){
            //溢出判断
            // res * 10 + (str[k]-'0') > M
            if(res > ((INT_MAX - (str[k] - '0'))/10)){
                if(minus == -1) return INT_MIN;
                else return INT_MAX;
            }
            res = res * 10 + (str[k]-'0');
            k++;
        }
        res *= minus;
        return res;

    }
};


0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!