Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
注意两个问题:
1.倒过来的数是否会越界(可以先化为long long型做);
2.负数取余和取整的操作,最好先化为正数。
//
// start: reverse integer
int reverse(int x)
{
long long tmp = abs((long long) x);
long long result = 0;
while(tmp)
{
result = result*10 + tmp%10; // 取余先得到低位,再循环乘以10颠倒
if(result > INT_MAX)
{
result = INT_MAX;
break;
}
tmp /= 10;
}
if(x > 0)
return (int)result;
else
return (int)-result;
}
// end
//