力扣_面试题:配对交换

配对交换

链接:力扣(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);
    }
};
相关推荐
CHEN5_021 分钟前
【Java面试题】缓存穿透
java·开发语言·数据库·redis·缓存
UQWRJ25 分钟前
R语言基础图像及部分调用函数
开发语言·r语言
搜狐技术产品小编20231 小时前
浅析责任链模式在视频审核场景中的应用
java·开发语言·责任链模式
Youndry1 小时前
二叉搜索树的最小绝对差
算法
一方热衷.1 小时前
YOLOv8/YOLOv11 C++ OpenCV DNN推理
c++·opencv·yolo
泥泞开出花朵1 小时前
LRU缓存淘汰算法的详细介绍与具体实现
java·数据结构·后端·算法·缓存
玉树临风江流儿1 小时前
QT收费情况
开发语言·qt
ankleless1 小时前
C语言(02)——标准库函数大全(持续更新)
c语言·开发语言·算法·标准库函数·零基础自学
玖剹2 小时前
Linux文件系统:从内核到缓冲区的奥秘
linux·c语言·c++·笔记·ubuntu
补三补四2 小时前
Shapley与SHAP
大数据·人工智能·算法·机器学习·数据分析