zoukankan      html  css  js  c++  java
  • 【leetcode】Reverse Bits(middle)

    Reverse bits of a given 32 bits unsigned integer.

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

    思路:

    n一直右移, ans一直左移。

    class Solution {
    public:
        uint32_t reverseBits(uint32_t n) {
            uint32_t ans = 0;
            for(int i = 0; i < 32; i++)
            {
                if(n & 0x0001 == 1)
                {
                    n = n >> 1;
                    ans = ans << 1;
                    ans |= 0x0001;
                }
                else
                {
                    n = n >> 1;
                    ans = ans << 1;
                }
            }
            return ans;
        }
    };

    大神总会有更简单的写法:

         uint32_t  reverseBits(uint32_t n) {
            uint32_t result= 0;
            for(int i=0; i<32; i++)
                result = (result<<1) + (n>>i &1);
    
            return result;
        }
  • 相关阅读:
    python 随机字符串
    Ajax
    Django (Form)
    Django (项目)
    Django (二)
    Django (一)
    Django 学生管理系统
    地理坐标系 与 投影坐标系
    shapefile
    图表绘制工具--Matplotlib 3
  • 原文地址:https://www.cnblogs.com/dplearning/p/4345001.html
Copyright © 2011-2022 走看看