Skip to content

Commit 4f3b1c7

Browse files
committed
✨ [190] Online solution
1 parent 8a50118 commit 4f3b1c7

File tree

2 files changed

+39
-23
lines changed

2 files changed

+39
-23
lines changed

190/my_solution.js

+18-23
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,29 @@
33
* @return {number} - a positive integer
44
*/
55
const reverseBits = (n) => {
6-
let str = "";
6+
let res = 0
77
console.log(`check: ${(n)}`)
8-
// n = (n) >> 1;
9-
// n = (n) >> 1;
10-
console.log(`check: ${n}`)
11-
//
12-
// let reversed = 0;
13-
// const totalBits = 32;
14-
//
15-
// for (let i = 0; i < totalBits; i++) {
16-
// reversed = (reversed << 1) | (n & 1);
17-
// n = n >> 1;
18-
// }
19-
// console.log(`check: ${reversed}`)
8+
console.log(`check: ${n >> 1}`)
9+
console.log(`check: ${0 & 1}`)
2010

21-
while (n != 0) {
22-
console.log(`before: ${n}`)
23-
str += (n & 1) ? "1" : "0";
24-
n = n >> 1;
25-
console.log(`after: ${n}`)
26-
// n = 0;
11+
// while (0 !== n) {
12+
for (let i = 0; i < 32; i++) {
13+
// console.log(`before: ${n}`)
14+
// str += (n & 1) ? "0" : "1";
15+
// n = n << 1;
16+
// console.log(`after: ${n}`)
17+
let lastBit = n & 1;
18+
let revBit = lastBit << (31 - i);
19+
res = res | revBit;
20+
n >>>= 1;
2721
}
2822

29-
console.log("str")
30-
console.log(str)
23+
res >>>= 0;
24+
console.log("res")
25+
console.log(res)
3126

3227
return;
3328
}
3429

35-
reverseBits(00000010100101000001111010011100) // 43261596 -> 964176192
36-
// reverseBits(11111111111111111111111111111101)
30+
// reverseBits(00000010100101000001111010011100) // 43261596 -> 964176192
31+
reverseBits(11111111111111111111111111111101)

190/solution.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number} n - a positive integer
3+
* @return {number} - a positive integer
4+
*/
5+
// NOTE THIS IS THE CORRECT SOLUTION BUT I AM STILL QUITE LOST
6+
const reverseBits = (n) => {
7+
let res = 0;
8+
9+
for (let i = 0; i < 32; i++) {
10+
let lastBit = n & 1;
11+
let revBit = lastBit << (31 - i);
12+
res = res | revBit;
13+
n >>>= 1;
14+
}
15+
16+
res >>>= 0;
17+
console.log("res")
18+
console.log(res)
19+
20+
return res;
21+
}

0 commit comments

Comments
 (0)