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——颠倒二进制位的主要内容,如果未能解决你的问题,请参考以下文章