力扣_面试题:配对交换

配对交换

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目意思就是交换相邻两个二进制位 ,用&分别取出even(偶位和)odd(奇位和)

偶位和用0xAAAAAAAA,奇位和用0x55555555即可,之后得到的偶位和左移,奇位右移,最后用 | 加起来即可

参考代码如下:

cpp 复制代码
class Solution {
public:
    int exchangeBits(int num) {
        int even_bits = num & 0xAAAAAAAA;
        int odd_bits = num & 0x55555555;  

        even_bits >>= 1;
        odd_bits <<= 1;

        return (even_bits | odd_bits);
    }
};
相关推荐
薛定谔的算法6 分钟前
JavaScript栈的实现与应用:从基础到实战
前端·javascript·算法
土了个豆子的11 分钟前
03.缓存池
开发语言·前端·缓存·visualstudio·c#
羚羊角uou12 分钟前
【Linux】匿名管道和进程池
linux·c++·算法
_extraordinary_23 分钟前
Java 多线程(一)
java·开发语言
曙曙学编程30 分钟前
stm32——独立看门狗,RTC
c语言·c++·stm32·单片机·嵌入式硬件
爱喝水的鱼丶32 分钟前
SAP-ABAP: ABAP ASSIGN COMPONENT 语句详解:动态字段符号的利器作用用法示例详解
运维·开发语言·sap·abap·开发经验·动态字段符号
励志不掉头发的内向程序员36 分钟前
C++进阶——多态
开发语言·c++·学习
空白到白1 小时前
决策树-面试题
算法·决策树·机器学习
flashlight_hi1 小时前
LeetCode 分类刷题:2563. 统计公平数对的数目
python·算法·leetcode
雨中散步撒哈拉1 小时前
13、做中学 | 初一下期 Golang数组与切片
开发语言·后端·golang