繁琐解题思路:
class Solution {
public:
int reverse(int x)
{
if(x == INT_MIN) return 0;
int flag = 1;
if(x < 0) flag = -1;
long long base = 0;
x = abs(x);
while(x)
{
base = base * 10 + x % 10;
x /= 10;
}
if(flag == -1) base = -base;
if(base > INT_MAX || base < INT_MIN)
return 0;
return base;
}
};
最佳解题思路:
class Solution {
public:
int reverse(int x)
{
int a = 0;
long ret = 0;
while(x != 0)
{
a = x % 10;
x = x / 10;
ret = ret * 10 + a;
if(ret < INT_MIN || ret > INT_MAX)
return 0;
}
return (int)ret;
}
};