Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321本地注意正负号判断比较关键,实现部分可能不是最优的,按照自己的想法实现:
设ret = 1;每次对x进行取余mod,然后ret = ret*10+mod;(第一次让ret = mod),最后返回ret
代码如下:
1 public class Solution { 2 public int reverse(int x) { 3 int result = 0; 4 int flag = (x < 0) ? 1 : 0; 5 6 x = (x < 0) ? -x : x; 7 8 int first = 1; 9 while(x!=0){10 int mod = x%10;11 if(first == 1){12 result = mod;13 first = 0;14 }else{15 result *= 10;16 result += mod;17 }18 19 x /= 10;20 21 }22 23 return (flag == 1) ? -result : result;24 25 }26 }