核心思想:原数对10取余数赋值给新数后降一位,再把新数升一位加上下一次原数取余值,直到原数降为0。

解法如下:

 1 int reverse(int x) {
 2         bool minus = false;
 3         if(x<0) 
 4         {
 5             x= -x;
 6             minus = true;
 7         }
 8         int a=0;
 9         while(x)
10         {
11             a*=10;
12             a+=x%10;
13             x/=10;
14         }
15         return minus?-a:a;