leetcode做题笔记190. 颠倒二进制位

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

提示:

  • 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
  • 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825

思路一:位运算

c++解法

cpp 复制代码
class Solution {
public:
    uint32_t reverseBits(uint32_t n) {
        uint32_t rev = 0;
        for (int i = 0; i < 32 && n > 0; ++i) {
            rev |= (n & 1) << (31 - i);
            n >>= 1;
        }
        return rev;
    }
};

分析:

本题要将原给定的二进制位颠倒,可以利用位运算的方法,将原来的数最后的数移到左边,不断向右移,直到将数完全颠倒过来为止

总结:

本题考察对位运算的应用,利用左右移来将二进制数颠倒

相关推荐
Ccjf酷儿6 小时前
操作系统 蒋炎岩 3.硬件视角的操作系统
笔记
习习.y6 小时前
python笔记梳理以及一些题目整理
开发语言·笔记·python
在逃热干面7 小时前
(笔记)自定义 systemd 服务
笔记
2501_941147717 小时前
高并发微服务架构Spring Cloud与Dubbo在互联网优化实践经验分享
leetcode
稚辉君.MCA_P8_Java8 小时前
Gemini永久会员 Java中的四边形不等式优化
java·后端·算法
DKPT8 小时前
ZGC和G1收集器相比哪个更好?
java·jvm·笔记·学习·spring
稚辉君.MCA_P8_Java8 小时前
通义 插入排序(Insertion Sort)
数据结构·后端·算法·架构·排序算法
无限进步_9 小时前
C语言动态内存的二维抽象:用malloc实现灵活的多维数组
c语言·开发语言·数据结构·git·算法·github·visual studio
Swift社区9 小时前
LeetCode 432 - 全 O(1) 的数据结构
数据结构·算法·leetcode
逝玄9 小时前
关于图灵停机问题不可判定性证明
算法·计算机科学