面试题 05.07. 配对交换

​​题目来源:

        leetcode题目,网址:面试题 05.07. 配对交换 - 力扣(LeetCode)

解题思路:

        若将所给数左移一位,则奇数位与目标值的奇数位相同;若将所给数右移一位,则偶数位与目标值的偶数位相同。 若将前者的偶数位 及 后者的奇数位置 0 后按位或,可获得正确结果。  

解题代码:

class Solution {
public:
    int exchangeBits(int num) {
        int odd=(num>>1)&(0x55555555);
        int even=(num<<1)&(0xAAAAAAAA);
        return odd|even;   
    }
};

总结:

        无官方题解。


你可能感兴趣的:(#,C++,LeetCode,C++)