解题思路
给定一个10进制整数,翻转它。这是一道简单题,简单利用取余和整除就可以解决。但是我们要判断溢出。
代码
int reverse(int x) {
int result = 0;
bool check = x >= 0 ? 1 : 0;
int maxInt = 2147483647 / 10;
int minInt = -2147483648 / 10;
while (x) {
if (check ? result > maxInt : result < minInt) {
result = 0;
break;
}
result = result * 10 + x % 10;
x = x / 10;
}
return result;
}