public class Solution_7 {
public static void main(String[] args) {
int x = 1534236469;
System.out.println(reverse(120));
}
public static int reverse(int x) {
int rev = 0;
while (x != 0) {
if (rev < Integer.MIN_VALUE/10 || rev > Integer.MAX_VALUE/10) {
return 0;
}
rev = rev * 10 + x % 10;
x = x / 10;
}
return rev;
}
}
记住Integer.MIN_VALUE和Integer.MAX_VALUE!!
不除以10的话就会直接超出最大限制,所以要在超出之前的最后一次就结束!因此要除以10。
最开始要初始化rev=0,这样直接把x末尾的0都抹掉了。