LeetCode每日刷题-7. 整数反转

 上班上得快睡着,偷偷A了这道

来源:力扣(LeetCode)

题目:

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

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

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

示例1:

输入:x = 123
输出:321

代码:

//Java方法
class Solution {
    public int reverse(int x) {
    //定义用来存储反序后的整数rev
    int rev = 0;
    //x直到被十除到0为止都在执行循环
        while(x!=0){
    //取输入数值的尾数
        int pop = x % 10;
    //除去x的尾数
        x /= 10;
    //按题意判断rev是否溢出最大能存储的整数,若溢出,返回0
        if(rev > Integer.MAX_VALUE / 10 || rev == Integer.MAX_VALUE / 10 && pop > 7) return 0;
        if(rev < Integer.MIN_VALUE / 10 || rev == Integer.MIN_VALUE / 10 && pop < -8) return 0;
    //将尾数存入rev,rev循环存入尾数,达成逆序
        rev = rev * 10 + pop;
    }
    return rev;
    }
}

 LeetCode每日刷题-7. 整数反转

 

上一篇:2021-04-04


下一篇:1814. Count Nice Pairs in an Array (数学方法巧解,警惕时间复杂度思维陷阱)