当前位置:   article > 正文

力扣_面试题:配对交换

力扣_面试题:配对交换

配对交换

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

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

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

参考代码如下:

  1. class Solution {
  2. public:
  3. int exchangeBits(int num) {
  4. int even_bits = num & 0xAAAAAAAA;
  5. int odd_bits = num & 0x55555555;
  6. even_bits >>= 1;
  7. odd_bits <<= 1;
  8. return (even_bits | odd_bits);
  9. }
  10. };

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/84950
推荐阅读
相关标签
  

闽ICP备14008679号