赞
踩
配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。
示例1:
输入:num = 2(或者0b10)
输出 1 (或者 0b01)
示例2:
输入:num = 3
输出:3
提示:
num的范围在[0, 2^30 - 1]之间,不会发生整数溢出。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/exchange-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
|
合并class Solution {
public:
int exchangeBits(int num) {
int even = 0b10101010101010101010101010101010;//0xAAAAAAAA
int odd = 0b1010101010101010101010101010101;//0x55555555
return ((num&even)>>1) | ((num&odd)<<1);
}
};
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。