题目:
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数。请根据这个假设,如果反转后整数溢出那么就返回 0。
https://leetcode-cn.com/problems/reverse-integer/
代码:
int reverse(int x){
int i;
long num=0;
while(x!=0){
i=x%10;
num=num*10+i;
x=x/10;
}
if((int)num!=num){
return 0;
}
return num;
}
思路:
long类型变量范围也是[2-31 ,231-1 ],符合题意,可将long类型的num与int类型的num相比,若二者不相等,则为溢出情况,返回0。
运行结果: