完成度
写了一半
自己的代码
忘记保存了
错误
不知道int型会溢出
题解
class Solution {
public int reverse(int x) {
int rev = 0;
while(x != 0){
int pop = x % 10;
x /= 10;
if(rev > Integer.MAX_VALUE / 10||(rev == Integer.MAX_VALUE / 10 && pop > 7)) return 0;
if(rev < Integer.MIN_VALUE/10||(rev == Integer.MIN_VALUE / 10 && pop < -8)) return 0;
rev = rev * 10 +pop;
}
return rev;
}
}
补充知识
integer 整数的最大值是 2 的 31 次方 - 1 = 2147483648 - 1 = 2147483647
可以用 Integer.MAX_VALUE 表示,即 int value = Integer.MAX_VALUE;
Integer.MAX_VALUE + 1 = Integer.MIN_VALUE = -2147483648