解题思路
字符串反转

public int reverse(int x) { if (x == Integer.MIN_VALUE) { //如果不做这个判断,下面的x=-x将会报错 return 0; } if(x <0) return -reverse(-x); String number = String.valueOf(x); char[] arr = number.toCharArray(); int n = arr.length; for(int i =0;i<n/2;i++){ char temp = arr[i]; arr[i] = arr[n-1-i]; arr[n-1-i]=temp; } String res = String.valueOf(arr); long numRes = Long.valueOf(res); return numRes <= Integer.MAX_VALUE ? (int)numRes : 0; //判断溢出}
数字反转
public int reverse(int x) { if (x == Integer.MIN_VALUE) { //如果不做这个判断,下面的x=-x将会报错 return 0; } if(x <0) return -reverse(-x); int res = 0; while(x!=0){ if(res>Integer.MAX_VALUE/10) return 0; res = res *10+x%10; x/=10; } return res <= Integer.MAX_VALUE ? res : 0; }