leecode 8. 字符串转换整数 (atoi)

在这里插入图片描述

class Solution {
public:
    int myAtoi(string str) {
        int i = 0, flag = 1;
        long res = 0; //默认flag = 1,正数
        while (str[i] == ' ') i ++; //若str全为空格,str[i] = '\0'(最后一个i)
        if (str[i] == '-') flag = -1;
        if (str[i] == '-' || str[i] == '+') i ++;
        for (; i < str.size() && isdigit(str[i]); i ++)  {
            res = res * 10 + (str[i] - '0');
            if (res >= INT_MAX && flag == 1) return  INT_MAX;
            if (res > INT_MAX && flag == -1) return  INT_MIN;
        } 
        return flag * res;
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_43956456/article/details/107715794
今日推荐