20.12.2 leetcode7

题目链接:https://leetcode-cn.com/problems/reverse-integer/

题意:整数反转

分析:有点麻烦,因为控制了边界,还得判断反转后是否超出了32位的范围。

class Solution {
public:
    int reverse(int x) {
        int rev = 0;
        while (x != 0) {
            int pop = x % 10;
            x /= 10;
            if (rev > INT_MAX/10 || (rev == INT_MAX / 10 && pop > 7)) return 0;
            if (rev < INT_MIN/10 || (rev == INT_MIN / 10 && pop < -8)) return 0;
            rev = rev * 10 + pop;
        }
        return rev;
    }
};

 

posted @ 2020-12-02 20:21  清酒令  阅读(42)  评论(0编辑  收藏  举报