LeetCode_7_反转整数(Reverse Number)

题目

给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢
出,则返回 0。

思路

计算过程中采用long类型存储答案,返回前比较Int的最大值与最小值保证对溢出情况的处理。

Code

class Solution {
    public int reverse(int x) {
        long ans = 0;
        while (x != 0) {
            ans = ans * 10 + (x % 10);
            x = x / 10;
        }
        if (ans > Integer.MAX_VALUE || ans < Integer.MIN_VALUE) {
            return 0;
        }
        return (int) ans;
    }
}

猜你喜欢

转载自blog.csdn.net/lawfay/article/details/80610009