Skip to content

Commit cca7962

Browse files
committed
#247 reorder-list solution
1 parent 4b09028 commit cca7962

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

reorder-list/sungjinwi.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
"""
2+
풀이 :
3+
list를 순회하면서 deque에 저장하고 순차적으로 앞, 뒤에서 pop하면서 다시 잇는다
4+
5+
- 마지막 노드의 next를 None으로 할당해줄 것
6+
7+
Node 개수 : N
8+
9+
TC : O(N)
10+
11+
SC : O(N)
12+
"""
13+
14+
from collections import deque
15+
16+
# Definition for singly-linked list.
17+
# class ListNode:
18+
# def __init__(self, val=0, next=None):
19+
# self.val = val
20+
# self.next = next
21+
class Solution:
22+
def reorderList(self, head: Optional[ListNode]) -> None:
23+
"""
24+
Do not return anything, modify head in-place instead.
25+
"""
26+
tmp = head
27+
save = deque()
28+
29+
while tmp:
30+
save.append(tmp)
31+
tmp = tmp.next
32+
33+
dummy = ListNode(-1)
34+
tmp = dummy
35+
while save:
36+
tmp.next = save.popleft()
37+
tmp = tmp.next
38+
if (save):
39+
tmp.next = save.pop()
40+
tmp = tmp.next
41+
tmp.next = None
42+
43+
head = dummy.next

0 commit comments

Comments
 (0)