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