力扣_面试题:配对交换

配对交换

链接:力扣(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);
    }
};
相关推荐
std86021几秒前
Rust 与 Python – 这是未来的语言吗?
开发语言·python·rust
Moniane7 分钟前
FastGPT 与 MCP 协议概述
算法
相偎14 分钟前
用观察者模式通知UI刷新数据
c++
2503_9301239315 分钟前
Kubernetes (六)调度策略详解:从节点匹配到Pod调度全流程
java·开发语言
曾凡宇先生15 分钟前
openEuler安装jdk,nginx,redis
linux·开发语言·数据库·openeuler
weixin_466817 分钟前
Python编程之面向对象
开发语言·人工智能·python
YBN娜30 分钟前
设计模式-创建型设计模式
java·开发语言·设计模式
草莓工作室30 分钟前
数据结构7:栈和队列
c语言·数据结构
CoderCodingNo31 分钟前
【GESP】C++四级真题 luogu-B4040 [GESP202409 四级] 黑白方块
开发语言·c++
Meteor_cyx1 小时前
Day12 二叉树遍历
算法