Loading

7. 整数反转

2021-05-03 LeetCode每日一题

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

正常情况下,此题使用int肯定会溢出的,所以需要在循环中提前判断一下是否超过[-2^31, 2^31 - 1]。

class Solution {
    public int reverse(int x) {
        int res = 0;
        while (x != 0) {
            int temp = x % 10;
            x = x / 10;
            if ((res > 0) && (res > (Integer.MAX_VALUE - 1 - temp) / 10)) {
                return 0;
            }

            if ((res < 0) && (res < (Integer.MIN_VALUE - temp) / 10)) {
                return 0;
            }

            res = res * 10 + temp;
        }

        return res;
    }
}

在这里插入图片描述

posted @ 2021-05-03 19:39  CodeTiger  阅读(24)  评论(0)    收藏  举报