Skip to content

Commit ffd3931

Browse files
committed
add Reverse Bits solution
1 parent 5ead282 commit ffd3931

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

reverse-bits/HoonDongKang.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/**
2+
* [Problem]: [190] Reverse Bits
3+
* (https://leetcode.com/problems/reverse-bits/description/)
4+
*/
5+
function reverseBits(n: number): number {
6+
//시간복잡도 O(1)
7+
//공간복잡도 O(1)
8+
function stackFunc(n: number): number {
9+
const stack: number[] = [];
10+
let output = 0;
11+
let scale = 1;
12+
13+
while (stack.length < 32) {
14+
stack.push(n % 2);
15+
n = Math.floor(n / 2);
16+
}
17+
18+
while (stack.length) {
19+
output += stack.pop()! * scale;
20+
scale *= 2;
21+
}
22+
23+
return output;
24+
}
25+
//시간복잡도 O(1)
26+
//공간복잡도 O(1)
27+
function bitFunc(n: number): number {
28+
let result = 0;
29+
for (let i = 0; i < 32; i++) {
30+
result <<= 1;
31+
result |= n & 1;
32+
n >>>= 1;
33+
}
34+
35+
return result >>> 0;
36+
}
37+
}

0 commit comments

Comments
 (0)