【leetcode】-7. 整数反转

【leetcode】-7. 整数反转

左岸 187 2022-12-16

题目

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231,231-1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。

示例一

输入: x = 123
输出 321

思路

  1. 利用数学算法 取余获取值的最后一位
  2. 判断溢出范围

解题

    public int reverse(int x) {
        int result = 0;
        //x !=0 为循环条件
        while(x!=0) {
           //判断溢出条件
            if (result>Integer.MAX_VALUE /10 || result<Integer.MIN_VALUE /10) {
                return 0;
            }
            //取余获取最后一位的值
            int temp = x % 10;
            //乘10拼接值
            result = result * 10 + temp;
            //原值 x / 10 更新下一位
            x/=10;
        }
        return result;
    }