190. 颠倒二进制位

190. 颠倒二进制位


题目链接:190. 颠倒二进制位

代码如下:

//逐位颠倒
//参考:https://www.bilibili.com/video/BV18i4y1V7KB/?spm_id_from=333.337.search-card.all.click&vd_source=3d719fd194001896c94533664b0320b5
class Solution {
public:
    uint32_t reverseBits(uint32_t n) {
        uint32_t res;

        for(int i=0;i<32;i++)
        {
            //res左移一位
            res=res<<1;

            //判断n的最后一位是否为1
            if((n&1)==1)
                res+=1;
            n=n>>1;
        }

        return res;
    }
};

你可能感兴趣的:(leetcode,c++)