这道题还是挺简单的,直接上代码
int reverse(int x){
long max = pow(2,31)-1;
long min = -pow(2,31);
long w=1,result=0;
int n=0;
while(x/w != 0){ //找出最高位
w=w*10;
n++;
}
while(x != 0){ //翻转
result = result+x%10*pow(10,n-1);
x = x/10;
n--;
}
if(result>max||result<min) //判别时候超出上下限
return 0;
else
return result;
}