Leetcode——颠倒二进制位

Posted Yawn,

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode——颠倒二进制位相关的知识,希望对你有一定的参考价值。

1. 题目

在这里插入图片描述

2. 题解

每次把 新数字res 左移,把 n 的二进制末尾数字,拼接到结果 res 的末尾。然后把 n 右移。
在这里插入图片描述

public class Solution {
    // you need treat n as an unsigned value
    public int reverseBits(int n) {
        int res = 0;
        for (int i = 0; i < 32; i++) {
            //res先往左移一位,把最后一个位置空出来,
            //用来存放n的最后一位数字
            res = res << 1;
            //res加上n的最后一位数字
            res = res + (n & 1);
            //n往右移一位,把最后一位数字去掉
            n = n >> 1;
        }
        return res;
    }
}

以上是关于Leetcode——颠倒二进制位的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 190. 颠倒二进制位 (位运算)

leetcode| 190. 颠倒二进制位

Leetcode 190.颠倒二进制位 By Python

[Leetcode]190. 颠倒二进制位

leetcode算法190.颠倒二进制位

LeetCode--190--颠倒二进制位