(1)给定一个 32 位有符号整数,将整数中的数字进行反转。
注意:给定一个 32 位有符号整数,将整数中的数字进行反转;假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
class Solution{
public:
int reverse(int x){
int rev = 0;
while(x!=0){
if(rev<=INT_MAX/10 && REV>=INT_MIN/10){
rev = rev*10 + rev%10;
x /=10;
}
else{ return 0;}
}
return rev;
}
};
心得:针对求整数反转考虑两个问题;(1)整数反转的算法(2)反转之后的整数是否溢出范围要进行一个判断;