LeetCode:7. Reverse Integer(Easy)

Posted 一只敲码的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:7. Reverse Integer(Easy)相关的知识,希望对你有一定的参考价值。

题目要求:将给出的整数进行逆序输出

注意:整数的最大范围-2147483648~2147483647,当翻转后的数超出范围后返回0

思路:对给出的整数除以10,取余和取整;然后对取整部分继续取余和取整,同时将前一次取余的部分乘10再加上该次取余...直至余数为零

 1 public class Solution {
 2 
 3     public static void main(String[] args) {
 4         Solution sol = new Solution();
 5 //        System.out.println(t.reverse(-123));
 6 //        System.out.println(t.reverse(1000));
 7 //        System.out.println(t.reverse(123));
 8         System.out.println(sol.reverse(1324565656));
 9     }
10 
11     public int reverse(int x) {
12         // 单独处理MIN_VALUE,因为最大范围和最小范围绝对值差1
13         if (x == Integer.MIN_VALUE)
14             return 0;
15         int num = Math.abs(x);
16         int result = 0;
17         while (num != 0) {
18             // 判断是否超出MAX_VALUE
19             if (result > (Integer.MAX_VALUE - num % 10) / 10)
20                 return 0;
21             result = result * 10 + num % 10;
22             num = num / 10;
23         }
24         // 最后判断正负号
25         return x > 0 ? result : -result;
26     }
27 }

 

以上是关于LeetCode:7. Reverse Integer(Easy)的主要内容,如果未能解决你的问题,请参考以下文章

#Leetcode# 7. Reverse Integer

[LeetCode #7] Reverse integer

LeetCode 7 Reverse Integer

[leetcode]7-Reverse Integer

LeetCode 7 Reverse Integer

LeetCode - 7 Reverse Integer