将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数)。
给定 x = 123
,返回 321
给定 x = -123
,返回 -321
/**
* @param n the integer to be reversed
* @return the reversed integer
*/
public int reverseInteger(int n) {
// Write your code here
int MAX = Integer.MAX_VALUE;
//值为 2的31次方-1 的常量,它表示 int 类型能够表示的最大值
int result = 0;
if (n >= 0){
while (n != 0){
if (result > MAX / 10){
//这里必须是这样 不能是result*10>MAX 判断 因为result*10就已经越界了
return 0;
}
else {
result = result * 10 + n % 10;
n = n / 10;
}
}
return result;
}
else {
int result1 = reverseInteger(-n);//针对负数
return -result1;
}
}
}