0
点赞
收藏
分享

微信扫一扫

整数反转(18)

boomwu 2022-01-20 阅读 59
算法java

整数反转

题目描述

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

示例 1:

输入:x = 123
输出:321
示例 2:

输入:x = -123
输出:-321
示例 3:

输入:x = 120
输出:21
示例 4:

输入:x = 0
输出:0

提示:

-231 <= x <= 231 - 1

函数部分代码

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

        return sum*k;

    }
}

修改后:

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

        return sum;

    }
}
举报

相关推荐

0 条评论