难度:简单
解题思路:像这种题目,基本就是用余数和除数来进行整数的反转,该题唯一的坑就是溢出,我们可以用一个变量来保存结果,在每次循环结束判断是否溢出,代码如下:
class Solution {
public int reverse(int x) {
int result = 0;
while(x != 0) {
int t = result; // 保存计算之前的结果
result = (result * 10) + (x % 10);
x /= 10;
// 将计算之后的结果 / 10,判断是否与计算之前相同,如果不同,证明发生溢出,返回0
if (result / 10 != t) return 0;
}
return result;
}
}