题目分析:
在不考虑会有溢出的情况下,可以采用简单的数学方法完成,但是为了防止有溢出,所以我们要在原方法的基础上加以判断。我们先将结果定义为long字型,这样就可以直接在最后一步进行判断了。
代码如下:
class Solution {
public:
int reverse(int x) {
long res = 0;
while(x!=0)
{
int a=x%10;
x/=10;
res=res*10+a;
}
if(res<INT_MIN||res>INT_MAX)
return 0;
return res;
}
};
结果如下: