张伦聪的技术博客 Research And Development

7. 反转整数

2018-08-19

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

  • 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

解:比较简单,做数学题记住使用%和/的应用。

class Solution {
    public int reverse(int x) {
        //long保存有可能会溢出int的数
        long result = 0;
        while (x != 0) {
            //对10取余求末尾的数
            int tail = x % 10;
            long newResult = result * 10 + tail;
            //溢出直接返回0
            if (newResult > Integer.MAX_VALUE || newResult < Integer.MIN_VALUE) {
                return 0;
            }
            result = newResult;
            x = x / 10;
        }
        return (int) result;
    }
}

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏博主

类似文章

上一篇 69. x 的平方根

留言