题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
源码:
int reverse(int x)
{
long r = 0;
while (x != 0) {
r = 10*r + x%10;
x = x/10;
}
if (r > pow(2, 31)-1 || r < -pow(2, 31))
return 0;
return r;
}