Skip to content

Commit 79f948b

Browse files
committed
feat: 190. Reverse Bits
1 parent 2530b0f commit 79f948b

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

reverse-bits/gwbaik9717.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Time complexity: O(1)
2+
// Space complexity: O(1)
3+
4+
/**
5+
* @param {number} n - a positive integer
6+
* @return {number} - a positive integer
7+
*/
8+
var reverseBits = function (n) {
9+
const stack = [];
10+
let current = n;
11+
12+
for (let i = 0; i < 32; i++) {
13+
stack.push(current % 2);
14+
current = Math.floor(current / 2);
15+
}
16+
17+
let answer = 0;
18+
19+
for (let i = 0; i < 32; i++) {
20+
const popped = stack.pop();
21+
answer += popped * 2 ** i;
22+
}
23+
24+
return answer;
25+
};

0 commit comments

Comments
 (0)