7. 反转整数

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

示例 1:

输入: 123
输出: 321

 示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

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

 1 class Solution {
 2     public int reverse(int x) {
 3         int flag = x;
 4         if (x < 0)
 5             x = 0 - x;
 6 
 7         int res = 0;
 8         while (x != 0) {
 9             int pop = x % 10;
10 
11             // 防止溢出
12             if ((Integer.MAX_VALUE - pop) / 10.0 - res < 0) {
13                 return 0;
14             }
15             res = res * 10 + pop;
16             x = x / 10;
17         }
18 
19         if (flag < 0)
20             res = 0 -res;
21 
22         return res;
23         
24     }
25 }
原文地址:https://www.cnblogs.com/hello-lijj/p/9512345.html