参考题解:官方题解
题目:
标签:
- 意想不到。
思路:
- 这道题难点在于,环境不允许存储超过32位的整数,包括符号位。
- 其实符号位可以理解为一定会占用一位。最大数和最小数可以用 Integer.MAX_VALUE 和 Integer.MIN_VALUE。这样就清晰、简单了。
题解:
class Solution {
public int reverse(int x) {
int rev = 0;
while (x != 0) {
if (rev < Integer.MIN_VALUE / 10 || rev > Integer.MAX_VALUE / 10) {
return 0;
}
int digit = x % 10;
x /= 10;
rev = rev * 10 + digit;
}
return rev;
}
}