分析

难度 易

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

来源

https://leetcode.com/problems/reverse-bits/submissions/

题目

Reverse bits of a given 32 bits unsigned integer.

Example:

Input: 43261596
Output: 964176192
Explanation: 43261596 represented in binary as 00000010100101000001111010011100, 
             return 964176192 represented in binary as 00111001011110000010100101000000.

Follow up:

If this function is called many times, how would you optimize it?

解答

 1 package LeetCode;
 2 
 3 import java.util.Stack;
 4 
 5 public class L190_ReverseBits {
 6     public int reverseBits(int n) {
 7         int result=0;
 8         for(int i=0;i<31;i++){
 9             result+=n&1;//取n最低位
10             n>>>=1;
11             result<<=1;//result=result<<1;左移,移动后原低位在前,高位在后
12         }
13         result+=n&1;//最后一个在反转后为个位,不右移;放在循环中则执行多次判断
14         return result;
15     }
16     public static void main(String[] args){
17         L190_ReverseBits l190=new L190_ReverseBits();
18         int n=43261596;
19         System.out.println(l190.reverseBits(n));
20     }
21 }

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄