# [Leetcode 190] Reverse Bits

`Input: n = 00000010100101000001111010011100Output:    964176192 (00111001011110000010100101000000)Explanation: The input binary string 00000010100101000001111010011100 represents the unsigned integer 43261596, so return 964176192 which its binary representation is 00111001011110000010100101000000.`
`Input: n = 11111111111111111111111111111101Output:   3221225471 (10111111111111111111111111111111)Explanation: The input binary string 11111111111111111111111111111101 represents the unsigned integer 4294967293, so return 3221225471 which its binary representation is 10111111111111111111111111111111.`
`uint32_t reverseBits(uint32_t n) {    int hash[32] = {0};    int i = 0;    // get the status of each digits into hash    while(n){        if(n&1 == 1)            hash[i] = 1;        i++;        n = n >> 1;    }    //reform the new number inversely    uint32_t res = 0;    for(i=31; i>=0; i--){        res += pow(2, 31-i) * hash[i];    }    return res;}`

--

--

Hi I am Samuel

Love podcasts or audiobooks? Learn on the go with our new app.