190. Reverse Bits

2018-04-05  本文已影响5人  衣介书生

题目分析

题目链接,登录 LeetCode 后可用
这道题让我们将一个 32 位无符号整数的二进制比特位进行逆序操作。比如:

4,100 => 001,程序返回 1
6,110 => 011,程序返回 3

这里我们用移位操作和或运算来解此题。其中右移 1 位就是除 2,左移一位就是乘 2。

代码

public class Solution {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        int res = 0;
        // 题目要求是 32 位无符号整数
        for(int i = 0; i < 32; i++) {
            res = (res << 1) | (n & 1);
            n >>= 1;
        }
        return res;
    }
}
上一篇下一篇

猜你喜欢

热点阅读