题目要求
解题思路
这道题的难点在于怎么判断越界,我们无法直接与最大值或最小值比较,但是由于每一次我们的ret都需要乘10这个特性来使用ret与最大值或最小值除10进行比较
代码实现
cpp
class Solution
{
public:
int reverse(int x)
{
int ret=0;
while(x)
{
//处理越界情况
if(ret<INT_MIN/10||ret>INT_MAX/10)
return 0;
ret=ret*10+x%10;
x/=10;
}
return ret;
}
};