[Java] Reverse Bits
 [Java] Reverse Bits 
 Feel free to leave a comment or contact me if you spot any errors or have feedback. I’m always open to learning!
[Java] Reverse Bits
LeetCode Problem #190 🔗 LeetCode Link
Espeically, this problem is in the Must-do List for Interview Prep in Leetcode.
Description
Reverse bits of a given 32 bits signed integer.
Example
- Input: n = 43261596
 - Output: n = 43261596
 - Explanation:
 
| Integer | Binary | 
|---|---|
| 43261596 | 0000001010010101000001111010011100 | 
| 964176192 | 0011100101011110000010100101000000 | 
My Solution
My first apporach was using StringBuilder. But this code couldn’t pass the test.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
    public int reverseBits(int n) {
        // n is even
        StringBuilder binary = new StringBuilder(32);
        binary.append(Integer.toBinaryString(n));
        binary.reverse();
        for (int i = 0; i < 32 - binary.length(); ++i) {
            System.out.println("add 0");
            binary.append("0");
        }
        return Integer.parseInt(binary.toString(), 2);
    }
}
 This post is licensed under  CC BY 4.0  by the author.