Why this answer is wrong?


  • 0
    M
    class Solution {
    public:
        uint32_t reverseBits(uint32_t n) {
            n = (n>>16) | (n<<16);
            n = (n & 0xff00ff00)>>8 | (n &0x00ff00ff)<<8;
            n = (n & 0xf0f0f0f0)>>4 | (n &0x0f0f0f0f)<<4;
            n = (n & 0xcccccccc)>>2 | (n &0x33333333)<<4;
            n = (n & 0xaaaaaaaa)>>1 | (n &0x55555555)<<1;
            return n;
        }
    };

  • 1

    Because of a 4 that should be a 2.

    Next time please show the input/output/expectation of the failed case.

    You can btw print to debug. I easily found the problematic line by inserting cout << n << endl; between all the lines.


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.