原题出处:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xnc5vg/
解法一:
public class Solution {
// you need treat n as an unsigned value
public int reverseBits(int n) {
int result = 0;
for (int i = 0 ; i < 32; i++) {
// 左移一位用来保存数据
result <<= 1;
// 按位与运算提取二进制位的最后一位并将结果相加
result += n&1;
// 右移一位,除去二进制位的最后一位
n >>= 1;
}
return result;
}
}
思路:本题就是需要操作二进制位,我们通过左移和右移来除去最后二进制位的最后一位,来不断的进行置换即可。
s