zoukankan      html  css  js  c++  java
  • Leetcode 190. Reverse Bits

    190. Reverse Bits

    • Total Accepted: 71291
    • Total Submissions: 242226
    • Difficulty: Easy

    Reverse bits of a given 32 bits unsigned integer.

    For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).

    Follow up: If this function is called many times, how would you optimize it?

    思路:二进制数反转。

    代码:

    方法一:

     1 class Solution {
     2 public:
     3     uint32_t reverseBits(uint32_t n) {
     4         n = (n >> 16) | (n << 16);
     5         n = ((n & 0xff00ff00) >> 8) | ((n & 0x00ff00ff) << 8);
     6         n = ((n & 0xf0f0f0f0) >> 4) | ((n & 0x0f0f0f0f) << 4);
     7         n = ((n & 0xcccccccc) >> 2) | ((n & 0x33333333) << 2);
     8         n = ((n & 0xaaaaaaaa) >> 1) | ((n & 0x55555555) << 1);
     9         return n;
    10     }
    11 };


     

    方法二:

     1 class Solution {
     2 public:
     3     uint32_t reverseBits(uint32_t n) {
     4         int i;
     5         uint32_t res=0;
     6         for(i=0;i<32;i++){
     7             res<<=1;
     8             res|=n&1;
     9             n>>=1;
    10         }
    11         return res;
    12     }
    13 };
  • 相关阅读:
    初识spring
    关于导入别人的web项目,tomcat无法显示的问题
    doPost无法跳转显示信息,只能下载文件查看
    socket网络编程
    log日志文件
    第三方模块安装
    __name__ __doc__ __package__
    格式化
    导入模块
    python正则表达式补充
  • 原文地址:https://www.cnblogs.com/Deribs4/p/5721344.html
Copyright © 2011-2022 走看看