首先将整数反转可以使用求整和取模实现,其次考虑溢出的情况即可。
int reverse(int x)
{
long result = 0;
const int int_max = 0x7fffffff;
const int int_min = 0x80000000;
if (x<10 && x>-10) return x;
bool flag = true;
if (x<0)
{
flag = false;
x = -x;
}
while (x != 0)
{
result = result * 10 + x % 10;
x = x / 10;
}
if (!flag) result = -result;
if (result<int_min || result>int_max)
{
return 0;
}
return result;
}