leetcode在力扣 App 中打开
调试中...
调试中...
题目描述
题目描述
题解
题解
提交记录
提交记录
代码
代码
测试用例
测试用例
测试结果
测试结果
简单
相关标签
相关企业
提示

配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位 0 与位 1 交换,位 2 与位 3 交换,以此类推)。

示例 1:

 输入:num = 2(或者 0b10)
 输出:1 (或者 0b01)

示例 2:

 输入:num = 3
 输出:3

提示:

  1. num 的范围在[0, 230 - 1]之间,不会发生整数溢出。
通过次数
21.8K
提交次数
30.8K
通过率
70.8%

相关标签

相关企业

提示 1
交换每一对意味着把偶数位移到左边,奇数位移到右边。你能把这个问题分成几个部分吗?

提示 2
你能创建一个代表偶数位的数字吗?那么你可以将偶数位移过一位吗?

提示 3
二进制的1010等价于十进制的10,也相当于十六进制的0xA。那么二进制的101010...在十六进制中是什么?也就是说,你要如何表示1在奇数位上的1和0交替序列?如果反过来呢(1在偶数位)?

提示 4
尝试用掩码0xaaaaaaaa和0x55555555提取偶数位和奇数位。然后尝试移动偶数位和奇数位来创建正确的数字。

评论 (0)

《程序员面试金典(第 6 版)》独家授权
本书是原谷歌资深面试官的经验之作,帮助了许多想要加入脸书、苹果、谷歌等 IT 名企的求职者拿到 Dream offer。本专题的 100+ 编程面试题是在原书基础上精心挑选出来的,帮助你轻松应战 IT 名企技术面试。
© 2025 领扣网络(上海)有限公司
0 人在线
行 1,列 1
num =
3
Source