Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
将一个整数按数字翻转。
分析:
每次取数字的最低位作为翻转后整数的最高位,计算时就要进行溢出判断,为防止溢出用 long long int 作为翻转后计算的结果。
注意:正数和负数的边界是不一样的。class Solution {
public:
int reverse(int x) {
const int max = 0x7fffffff; //int最大值
const int min = 0x80000000; //int最小值
long long int rev = 0;
while(x)
{
rev = 10*rev + x % 10;
if((rev > max) || (rev < min)) //越界
{
return 0;
}
x = x / 10;
}
return rev;
}
};