记录两点:
- 负数也可以使用%10和/10。
- C++中INT_MAX和INT_MIN代表最大int和最小int。
最后,附上代码:
class Solution {
public:
int reverse(int x) {
int num = 0;
while(x != 0) {
int d = x % 10;
x /= 10;
if (num > INT_MAX/10 || (num == INT_MAX / 10 && d > 7)) return 0;
if (num < INT_MIN/10 || (num == INT_MIN / 10 && d < -8)) return 0;
num = num * 10 + d;
}
return num;
}
};