LeetCode Reverse Integer反転整数

2882 ワード

 1 class Solution {

 2 public:

 3     int reverse(int x) {

 4         int e,s,num,k=0;

 5         num=x;

 6         e=0;

 7         if(x<0)

 8             num=-1*x;

 9         while( num!=0 ){

10             s=num%10;

11             e=e*10+s;

12             num=num/10;

13             k++;

14         }

15         if(x<0)

16             return -e;

17         else

18             return e;

19     }

20 };

 
タイトル:
Example1: x = 123, return 321Example2: x = -123, return -321
1つの整数のビットを取り外し、別の整数の最上位に配置します.
さらに10ビットを取り外し、別の整数のこの高位に置きます.
.....
xの最高位が別の整数にビットとして取り外されるまで.
 
注意:
1.正負は元と同じなので、抽出しなければなりません.
 
考え方:
1.直接分解し、除号÷と余剰%で解決する.