要求:考虑溢出
思路:本题有个隐藏条件,就是输入的是int,其首位必为1和2,所以翻转后不必考虑最后一位的情况,下面代码里可以省略
class Solution {
public:
int reverse(int x) {
int sum=0;
while(x){
if(sum>0){
if(sum==214748364&&x%10>7)return 0;
else if(sum>214748364)return 0;
}
else if(sum<0){
if(sum==-214748364&&x%10<-8)return 0;
else if(sum<-214748364)return 0;
}
sum=sum*10+x%10;
x/=10;
}
return sum;
}
};