Skip to content

Commit 0a75194

Browse files
committed
206
1 parent d4289b1 commit 0a75194

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)