这个题其实逻辑不难,但是最坑爹的问题是如何判断整型数的溢出!!!
class Solution
{
public:
int reverse(int x) {
if (INT_MIN == x) return 0;
if (x < 0) return -reverse(-x);
int result = 0;
while (x > 0){
int a = x % 10;
x = x / 10;
if ((INT_MAX - a) / 10 < result) //判断溢出
return 0;
result = result * 10 + a;
}
return result;
}
};
这里是怎么判断溢出的,我还没有弄明白。
原文:http://my.oschina.net/u/1047616/blog/495010