190. Reverse Bits(二进制数求逆)

    xiaoxiao2022-07-02  113

    problems:

    Reverse bits of a given 32 bits unsigned integer. Example 1: Input: 00000010100101000001111010011100 Output: 00111001011110000010100101000000 Explanation: The input binary string 00000010100101000001111010011100 represents the unsigned integer 43261596, so return 964176192 which its binary representation is 00111001011110000010100101000000.

    tip:

    二进制串求逆序,利用二进制表达形式的左移右移特性.

    solution:

    class Solution { public: uint32_t reverseBits(uint32_t n) { uint32_t m = n; uint32_t res = 0; for(int i=0;i<32;i++) { if(n&1==1) res = (res<<1)+1; else res = res<<1; n=n>>1; } return res; } };
    最新回复(0)