力扣_面试题:配对交换

配对交换

链接:力扣(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);
    }
};

版权声明:本文为博主作者:NineOne_豆浆狂魔原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/m0_74922218/article/details/136089912

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2024年2月19日
下一篇 2024年2月19日

相关推荐