这一题比较简单
就是一个取余、取整的问题
然后就是溢出的判断,2^31=2147483648 最大能取2147483647,最小是-2147483648
代码:
int reverse(int x) {
int rev = 0;
int pop = 0;
int INTMAX = pow(2,31)-1;
int INTMIN = -pow(2,31);
while(x!=0)
{
pop = x%10;
x = x/10;
if(rev>INTMAX/10 || (rev==INTMAX/10 && pop>7))
return 0;
if(rev<INTMIN/10 || (rev==INTMIN/10 && pop<-8))
return 0;
rev = rev*10 + pop;
}
return rev;
}