Skip to content

Commit 3cd4f15

Browse files
committed
add solution : 206. Reverse Linked List
1 parent 3c111b6 commit 3cd4f15

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

โ€Žreverse-linked-list/mmyeon.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
class ListNode {
2+
val: number;
3+
next: ListNode | null;
4+
constructor(val?: number, next?: ListNode | null) {
5+
this.val = val === undefined ? 0 : val;
6+
this.next = next === undefined ? null : next;
7+
}
8+
}
9+
10+
/**
11+
*
12+
* @link https://leetcode.com/problems/reverse-linked-list/
13+
*
14+
* ์ ‘๊ทผ ๋ฐฉ๋ฒ• :
15+
* - ๋ฆฌ์ŠคํŠธ ์ˆœํšŒํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ธฐ์กด reversed ๋ฆฌ์ŠคํŠธ์˜ head๋ฅผ ์—ฐ๊ฒฐ
16+
*
17+
* ์‹œ๊ฐ„๋ณต์žก๋„ : O(n)
18+
* - ๋ฆฌ์ŠคํŠธ ๋…ธ๋“œ 1ํšŒ ์ˆœํšŒํ•˜๋‹ˆ๊นŒ
19+
*
20+
* ๊ณต๊ฐ„๋ณต์žก๋„ : O(n)
21+
* - reversed ๋œ ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ ์ƒˆ๋กœ ๋งŒ๋“œ๋‹ˆ๊นŒ
22+
*/
23+
24+
function reverseList(head: ListNode | null): ListNode | null {
25+
if (head === null) return head;
26+
27+
let headNode: ListNode | null = null;
28+
let currentNode: ListNode | null = head;
29+
30+
while (currentNode !== null) {
31+
const newNode = new ListNode(currentNode.val, headNode);
32+
headNode = newNode;
33+
currentNode = currentNode.next;
34+
}
35+
36+
return headNode;
37+
}

0 commit comments

Comments
ย (0)