力扣_面试题:配对交换

配对交换

链接:力扣(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);
    }
};
相关推荐
初次见面我叫泰隆1 分钟前
Qt——4、Qt窗口
开发语言·qt·客户端开发
瑞雪兆丰年兮6 分钟前
[从0开始学Java|第十一天]学生管理系统
java·开发语言
txinyu的博客13 分钟前
解析muduo源码之 Buffer.h & Buffer.cc
c++
Dave.B15 分钟前
vtkPolyDataConnectivityFilter 实用指南
算法·vtk
代码AI弗森26 分钟前
Git Bash 与 PowerShell:定位差异、使用场景与选择建议
开发语言·git·bash
阿猿收手吧!32 分钟前
【C++】异常处理:catch块执行后程序如何继续
服务器·网络·c++
代码游侠37 分钟前
C语言核心概念复习(一)
c语言·开发语言·c++·笔记·学习
Once_day38 分钟前
C++之《Effective C++》读书总结(3)
c语言·c++
蜕变的土豆41 分钟前
grpc-通关速成
开发语言·c++