整数反转
题目
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
题解
class Solution {
public:
int reverse(int x) {
long t;
long chishu = 0;
long sum=0;
long s;
long mm = x;
while (mm)
{
s = mm % 10;
mm /= 10;
chishu++;
}
while (x)
{
t=x % 10;
sum += (t*pow(10, chishu-1));
x /=10;
chishu--;
}
if(sum<pow(-2,31)||sum>(pow(2,31)-1))
{
return 0;
}
return sum;
}
};