🗒️190. 颠倒二进制位
2025-3-1
| 2025-3-1
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Mar 1, 2025 01:45 AM
颠倒给定的 32 位无符号整数的二进制位。
提示:
  • 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
  • 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 3,输出表示有符号整数 1073741825

位运算

对称构造

逐位构造

分组构造

前两种方法好理解。分组构造的方法采用分治的思想
  • 先前后调换,例如 aabbccdd,调换为 ccddaabb
  • 细化,将得到的前后(ccdd-aabb),再次重复上述步骤,直至不能分解。即:ccdd前后调换,得到ddcc,aabb 前后调换bbaa,得到 bb-aa-dd-cc
  • 最后,向上合并。

📎 参考

  • 【题单】位运算
  • Important
  • 371. 两整数之和三色标记算法
    Loading...