1 parent d4289b1 commit 0a75194Copy full SHA for 0a75194
1 file changed
leetcode3/변지협/v3/206. Reverse Linked List.py
@@ -0,0 +1,39 @@
1
+'''
2
+1. 아이디어 :
3
+DFS로 연결 리스트를 순회하면서 값을 리스트에 담는다.
4
+리스트를 뒤집은 뒤, 끝에서부터 하나씩 꺼내 새 노드를 앞에 이어 붙여 뒤집힌 연결 리스트를 만든다.
5
+
6
+2. 시간복잡도 :
7
+o(n)
8
9
+3. 자료구조/알고리즘 :
10
+연결 리스트 / DFS(재귀), 리스트
11
12
13
14
+# Definition for singly-linked list.
15
+# class ListNode:
16
+# def __init__(self, val=0, next=None):
17
+# self.val = val
18
+# self.next = next
19
+class Solution:
20
+ def reverseList(self, head: ListNode | None) -> ListNode | None:
21
+ lst = []
22
+ def dfs(h: ListNode | None):
23
+ if not h:
24
+ return
25
+ lst.append(h.val)
26
+ dfs(h.next)
27
28
+ dfs(head)
29
+ tmp = None
30
+ lst = lst[::-1]
31
32
+ while lst:
33
+ elem = lst.pop()
34
+ if not tmp:
35
+ tmp = ListNode(elem, None)
36
+ else:
37
+ tmp = ListNode(elem, tmp)
38
39
+ return tmp
0 commit comments