力扣练习之颠倒二进制位

我爱海鲸 2022-10-10 23:33:21 初级算法

简介初级算法、其他

原题出处: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

你好:我的2025