力扣_面试题:配对交换

配对交换

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

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

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

参考代码如下:

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. 面试150 | 多数元素

    2024-02-13 06:20:03       33 阅读
  2. 面试150 | 轮转数组

    2024-02-13 06:20:03       45 阅读
  3. 每日一670最大交换

    2024-02-13 06:20:03       34 阅读
  4. 面试150 | 买卖股票的最佳时期

    2024-02-13 06:20:03       43 阅读
  5. 面试150 |有效的括号

    2024-02-13 06:20:03       50 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-13 06:20:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-13 06:20:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-13 06:20:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-13 06:20:03       20 阅读

热门阅读

  1. 动态态势感知中的态、势、感、知变化规律

    2024-02-13 06:20:03       31 阅读
  2. 缓存预热!真香

    2024-02-13 06:20:03       34 阅读
  3. c#异步编程

    2024-02-13 06:20:03       28 阅读
  4. C#系列-C#EF框架实现雪花主键(20)

    2024-02-13 06:20:03       26 阅读
  5. arduino ide编写的esp32和st773580*160的一个接球小游戏

    2024-02-13 06:20:03       46 阅读
  6. 洛谷:P1331 海战

    2024-02-13 06:20:03       29 阅读
  7. LeetCode79. Word Search——回溯

    2024-02-13 06:20:03       23 阅读
  8. C++Web头文件: Hacker.h

    2024-02-13 06:20:03       29 阅读