题解 | #把字符串转换成整数(atoi)#

把字符串转换成整数(atoi)

https://www.nowcoder.com/practice/d11471c3bf2d40f38b66bb12785df47f

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return int整型
     */
    int StrToInt(string s) {
        int idx = 0;
        int len = s.length();
        long long res = 0;
        bool sign = true;
        while (idx < len && s[idx] == ' ') {
            ++idx;
        }
        if (idx == len) {
            return static_cast<int>(res);
        }
        if (s[idx] == '+' || s[idx] == '-') {
            sign = s[idx] == '+';
            ++idx;
        }
        while (isdigit(s[idx])) {
            res = res * 10 + (s[idx] - '0');
            if (sign && (res >= INT_MAX)) {
                return INT_MAX;
            } else if (!sign && (res >= static_cast<long long>(INT_MAX) + 1)) {
                return INT_MIN;
            }
            ++idx;
        }
        return sign ? static_cast<int>(res): static_cast<int>(-res);
    }
};

思路:模拟。

正常模拟即可。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务