力扣_面试题:配对交换

配对交换

链接:力扣(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);
    }
};
相关推荐
weixin_4684668523 分钟前
机器学习之决策树新手实战指南
人工智能·python·算法·决策树·机器学习·ai
techdashen23 分钟前
Rust 中的小字符串:smol_str 与 smartstring 的对决
开发语言·后端·rust
wanghu202428 分钟前
ABC460_E题题解
c++·算法
z2005093028 分钟前
今日算法(回溯子集)
数据结构·算法·leetcode
devilnumber29 分钟前
java自定义事件处理器极简版:「外卖点餐」场景
java·开发语言
Hesionberger32 分钟前
巧用异或找出唯一数字(多解)
java·数据结构·python·算法·leetcode
小何code33 分钟前
C语言【初阶】第1节,初识C语言
c语言·开发语言
代码小书生37 分钟前
getpass,一个安全输入的 Python 库!
开发语言·python·安全
莫陌尛.42 分钟前
Fuzzy C-Mean Clustering (FCM)
c语言·开发语言
YOU OU43 分钟前
案例综合练习-博客系统
java·开发语言