美文网首页
7.反转整数 by 2018-04-22

7.反转整数 by 2018-04-22

作者: 戴宏鹏 | 来源:发表于2018-04-22 13:52 被阅读0次
    class Solution {
    public:
        int reverse(int x) {
            int res = 0;
            while (x) 
            {
                if (res > INT_MAX / 10 || res < INT_MIN / 10)
                    return 0;
                res = res * 10 + x % 10;
                x /= 10;
            }
            return res;
        }
    };
    

    本题关键点在于溢出的判断:

    if (res > INT_MAX / 10 || res < INT_MIN / 10)
        return 0;
    

    检查溢出的不等式来自于:res * 10 + x % 10 > INT_MAX。此不等式若成立,则会溢出,返回0即可。

    相关文章

      网友评论

          本文标题:7.反转整数 by 2018-04-22

          本文链接:https://www.haomeiwen.com/subject/zgrtlftx.html