对整数进行反转,可以通过取余运算一位一位拿出来。
难点在于不使用64位数据结构存储的情况下,对反转后的数字的溢出判断,硬背吧,具体推导过程在官方题解。
class Solution {
public int reverse(int x) {
int ans = 0;
while (x != 0) {
if (ans > Integer.MAX_VALUE / 10 || ans < Integer.MIN_VALUE / 10) {
return 0;
}
int digit = x % 10;
x /= 10;
ans = ans * 10 + digit;
}
return ans;
}
}