Integer.MAX_VALUE //表示int数据类型的最大取值数:2 147 483 647 (2 的 31 次方 - 1)
Integer.MIN_VALUE //表示int数据类型的最小取值数:-2 147 483 648 (负的 2 的 31 次方)
public class No7整数反转 {
public static void main(String[] args) {
//int res = 1534236469;
System.out.println(reverse(123));
}
public static int reverse(int x) {
boolean flag = false;
if(x<0){
x=-x;
flag=true;
}
int pop = 0;
int count = x;
int res = 0;
while (count != 0){
//防止溢出,下面需要加上 (*10 + 余数)
if(res > (Integer.MAX_VALUE - count%10)/10){
return 0;
}
pop = count%10;
count = count/10;
res = res*10 + pop;
}
return flag?-res:res;
}
}