posts - 8,comments - 0,views - 6099

Reverse digits of an integer.

Example1: x = 123, return 321
Example2: x = -123, return -321

 

此题简单,但是需要考虑一些边界上的处理会在面试中加分。

另外这里考虑了一下溢出处理

 

复制代码
 1     public static int reverse(int x) {
 2         
 3         int min = Integer.MIN_VALUE;
 4         int max = Integer.MAX_VALUE;
 5         // sum在加法过程中会溢出int范围
 6         long sum = 0;
 7         while (x != 0) {
 8             int temp = x % 10;
 9             sum = sum * 10 + temp;
10             if (sum > max || sum < min) {
11                 sum = sum > 0 ? max : min;
12                 return 0;
13             }
14             x = x / 10;
15         }
16         return (int) sum;
17     }
复制代码

 

posted on   酒仙桥吴彦祖  阅读(131)  评论(0编辑  收藏  举报
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示