Skip to content

Commit e692ca7

Browse files
committed
reverse bits solution
1 parent d3a4622 commit e692ca7

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

โ€Žreverse-bits/byol-han.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* https://leetcode.com/problems/reverse-bits/
3+
* @param {number} n - a positive integer
4+
* @return {number} - a positive integer
5+
*/
6+
var reverseBits = function (n) {
7+
let result = 0;
8+
9+
for (let i = 0; i < 32; i++) {
10+
// result๋ฅผ ์™ผ์ชฝ์œผ๋กœ 1์นธ ๋ฐ€๊ธฐ
11+
result <<= 1;
12+
13+
// n์˜ ๋งˆ์ง€๋ง‰ ๋น„ํŠธ๋ฅผ result์˜ ์˜ค๋ฅธ์ชฝ ๋์— ์ถ”๊ฐ€
14+
result |= n & 1;
15+
16+
// n์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 1์นธ ๋ฐ€๊ธฐ
17+
n >>>= 1;
18+
}
19+
20+
// >>> 0์„ ํ•˜๋ฉด ๋ถ€ํ˜ธ ์—†๋Š” 32๋น„ํŠธ ์ •์ˆ˜๋กœ ๋ฐ˜ํ™˜๋จ
21+
return result >>> 0;
22+
};

โ€Žreverse-linked-list/byol-han.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,19 @@ var reverseList = function (head) {
3434
reverseList(head)์—์„œ head๋Š” ๋ฆฌ์ŠคํŠธ ์ „์ฒด์˜ ์ง„์ž…์ .
3535
head ํ•˜๋‚˜๋งŒ ์•Œ๊ณ  ์žˆ์–ด๋„, .next๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ์ „์ฒด ๋…ธ๋“œ๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์ŠคํŠธ ์ „์ฒด๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Œ
3636
37+
// ๋…ธ๋“œ ๊ตฌ์กฐ ์ •์˜
38+
function ListNode(val, next = null) {
39+
this.val = val;
40+
this.next = next;
41+
}
42+
43+
// ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
44+
const node3 = new ListNode(3); // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ
45+
const node2 = new ListNode(2, node3); // node2 โ†’ node3
46+
const head = new ListNode(1, node2); // head โ†’ node2 โ†’ node3
47+
48+
// ํ™•์ธ
49+
console.log(head.val); // 1
50+
console.log(head.next.val); // 2
51+
console.log(head.next.next.val); // 3
3752
*/

0 commit comments

Comments
ย (0)