LeetCode探索之旅(49)-190反转bit

今天继续刷LeetCode,第190题,将一个32位二进制数反转

分析:
既然是二进制数,那么可以通过位运算的方式解决问题。反转二进制数,可以从后往前遍历,将最后一位作为输出的第一位,最后第二位作为输出的第二位,知道遍历完所有位。

问题:
1、位运算的应用,与、或、非等

附上代码:

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

你可能感兴趣的:(代码训练)