Skip to content

Commit

Permalink
reverse-bits
Browse files Browse the repository at this point in the history
  • Loading branch information
taewanseoul committed Dec 23, 2024
1 parent dbb2fdb commit 904130c
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions reverse-bits/taewanseoul.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**
* 190. Reverse Bits
* Reverse bits of a given 32 bits unsigned integer.
*
* https://leetcode.com/problems/reverse-bits/description/
*/

// O(1) time
// O(1) space
function reverseBits(n: number): number {
const bits: number[] = [];

while (bits.length < 32) {
bits.push(n & 1);
n = n >> 1;
}

let result = 0;
let scale = 1;
for (let i = bits.length - 1; i >= 0; i--) {
result += bits[i] * scale;
scale *= 2;
}

return result;
}

0 comments on commit 904130c

Please sign in to comment.