Skip to content

Commit 2c308c7

Browse files
committed
Add reverse-bits solution
1 parent d6f44bf commit 2c308c7

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

reverse-bits/Jeehay28.js

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

0 commit comments

Comments
 (0)