๐กย ์ฝ์ ์ ๋ ฌ (insertion sort)
์๋ฃ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์์์๋ถํฐ ์ฐจ๋ก๋๋ก ์ด๋ฏธ ์ ๋ ฌ๋ ๋ฐฐ์ด ๋ถ๋ถ๊ณผ ๋น๊ตํ์ฌ, ์์ ์ ์์น๋ฅผ ์ฐพ์ ์ฝ์ ํจ์ผ๋ก์จ ์ ๋ ฌ์ ์์ฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
dummy ๋ผ ํ์.dummy์ ์ฝ์
ํ ์์น๋ฅผ ์ฐพ๋๋ค.dummy ๋ ์ ๋ ฌ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๊ฐ ๋๋ค.class Solution:
def insertionSortList(self, head: ListNode) -> ListNode:
dummy = curr = ListNode()
while head:
while curr.next and curr.next.val < head.val:
curr = curr.next
curr.next, head.next, head = head, curr.next, head.next
if head and curr.val > head.val:
curr = dummy
return dummy.next