力扣190:颠倒二进制位

力扣190:颠倒二进制位

题目

颠倒给定的 32 位无符号整数number的二进制位。

思路

思路很简单,我们只需要得到number从低位到高位的每一个二进制位再把二进制位移到颠倒的res的对应二进制位即可,例如number的最低位为1那么res的最高位即1,也就是number的第i位是res的第31-i位。

代码

cpp 复制代码
class Solution {
public:
    int reverseBits(int n) {
        if(n == 0)
        {
            return 0;
        }
        int res = 0;
        for(int i = 0; i < 32;i++)
        {
            //res |= x 使用按位或得到每一个二进制位的值
            //(n&1) 与1进行按位与得到n的最低位的二进制值
            //x <<(31-i) 将x左移31-i位也就是将当前二进制位移到颠倒后的位置
            res |= (n&1) << (31-i);
            // x >>= 1 右移一位,舍弃最低位高位由0填补
            n >>= 1;
        }
        return res;
    }
};
相关推荐
敲代码的嘎仔3 小时前
力扣高频SQL基础50题详解
开发语言·数据库·笔记·sql·算法·leetcode·后端开发
小虎牙0073 小时前
面试被问复杂度总懵?这篇指南帮你彻底搞清
算法
普马萨特3 小时前
地理空间索引技术选型指南:GeoHash, Google S2 与 Uber H3
数据结构
knight_9___4 小时前
大模型project面试4
人工智能·python·深度学习·算法·面试·agent
l1t4 小时前
DeepSeek总结的欢迎来到 ORDER BY 丛林
数据库·算法
谙弆悕博士4 小时前
【附C源码】二叉搜索树的C语言实现
c语言·开发语言·数据结构·算法·二叉树·项目实战·数据结构与算法
宵时待雨5 小时前
回溯算法专题2:二叉树中的深搜
开发语言·数据结构·c++·笔记·算法·深度优先
刀法如飞5 小时前
JavaScript 数组去重的 20 种实现方式,学会用不同思路解决问题
前端·javascript·算法
洛水水5 小时前
【力扣100题】46.单词拆分
算法·leetcode·职场和发展
MicroTech20255 小时前
量子安全赋能协同智能,微算法科技(NASDAQ :MLGO)研发PQS-BFL后量子区块链联邦学习框架
科技·算法·安全