Leetcode——颠倒二进制位

Posted Yawn,

tags:

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

1. 题目

在这里插入图片描述

2. 题解

  • 使用一个int变量 res存储颠倒后二进制
  • res持续左移,把最后一个位置空出来
  • n往右移一位,把最后一位数字去掉
  • n最后一位数字存入res左移空出来的位置
  • 持续操作32次
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的最后一位,n保持右移
            res = res << 1;
            res = res + (n & 1);
            // n & 1:获取n的最后一位
            n = n >> 1;
        }
        return res;
    }
}

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

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

leetcode| 190. 颠倒二进制位

Leetcode 190.颠倒二进制位 By Python

[Leetcode]190. 颠倒二进制位

leetcode算法190.颠倒二进制位

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