image.png

思路

image.png

image.png

code

使用字符串反转的方法

  1. public static int reverse(int x) {
  2. if (x == Integer.MIN_VALUE) { //如果不做这个判断,下面的x=-x将会报错
  3. return 0;
  4. }
  5. if(x <0)
  6. return -reverse(-x);
  7. String number = String.valueOf(x);
  8. char[] arr = number.toCharArray();
  9. int n = arr.length;
  10. for(int i =0;i<n/2;i++){
  11. char temp = arr[i];
  12. arr[i] = arr[n-1-i];
  13. arr[n-1-i]=temp;
  14. }
  15. String res = String.valueOf(arr);
  16. long numRes = Long.valueOf(res);
  17. return numRes <= Integer.MAX_VALUE ? (int)numRes : 0; //判断溢出
  18. }

对数字进行操作的方法

  1. public int reverse(int x) {
  2. if (x == Integer.MIN_VALUE) { //如果不做这个判断,下面的x=-x将会报错
  3. return 0;
  4. }
  5. if(x <0)
  6. return -reverse(-x);
  7. int res = 0;
  8. while(x!=0){
  9. if(res>Integer.MAX_VALUE/10)
  10. return 0;
  11. res = res *10+x%10;
  12. x/=10;
  13. }
  14. return res <= Integer.MAX_VALUE ? res : 0;
  15. }

总结

image.png