码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode:7. Reverse Integer(Easy)

时间:2017-12-14 03:20:25      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:div   逆序   题目   分享图片   col   ...   log   string   int   

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

技术分享图片

注意:整数的最大范围-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)

标签:div   逆序   题目   分享图片   col   ...   log   string   int   

原文地址:http://www.cnblogs.com/ErMengNJUniverser/p/8035028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!