LeetCode7. 整数反转

给你一个 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

class Solution {
    public int reverse(int x) {
        //每次取x的个位数
        int res = 0;
        while(x!=0)
        {
            int temp = x%10;
            //正数反转的时候溢出处理
            if(res>214748364 || ( res == 214748364 && temp >7) )
                return 0;
            //负数反转的时候溢出处理
            if(res< -214748364 || (res== -214748364 && temp < -8 ))
                return 0;
            res = res*10 + temp;
            x/=10;
        }
        return res;
    }
}

 

posted @ 2021-03-27 17:34  γGama  阅读(34)  评论(0编辑  收藏  举报