[Leet Code] 21. Merge Two Sorted Lists

yunanยท2021๋…„ 1์›” 23์ผ
0
post-thumbnail

๐Ÿ”ฆ ๋ฌธ์ œ ๋งํฌ

๐Ÿ”Š ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ธํ„ฐ๋ทฐ ์ฑ…์„ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฌธ์ œ

๋‘ ๊ฐœ์˜ ์ •๋ ฌ ๋œ ์—ฐ๊ฒฐ ๋ชฉ๋ก์„ ๋ณ‘ํ•ฉํ•˜๊ณ  ์ •๋ ฌ ๋œ ๋ชฉ๋ก์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์€ ์ฒ˜์Œ ๋‘ ๋ชฉ๋ก์˜ ๋…ธ๋“œ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

โœ๏ธ ํ’€์ด


์žฌ๊ท€์ ์œผ๋กœ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•๊ณผ iterativeํ•˜๊ฒŒ ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

๐Ÿ›  ์ฝ”๋“œ


  • ๋ฐ˜๋ณต์  ๋ฐฉ๋ฒ•
def mergeTwoLists(self, l1, l2):
    dummy = cur = ListNode(0)
    while l1 and l2:
        if l1.val < l2.val:
            cur.next = l1
            l1 = l1.next
        else:
            cur.next = l2
            l2 = l2.next
        cur = cur.next
    cur.next = l1 or l2
    return dummy.next
  • ์žฌ๊ท€์  ํ’€์ด
def mergeTwoListsRecursive(self, l1, l2):
    if not l1 or not l2:
        return l1 or l2
    if l1.val < l2.val:
        l1.next = self.mergeTwoLists(l1.next, l2)
        return l1
    else:
        l2.next = self.mergeTwoLists(l1, l2.next)
        return l2

๐Ÿ“ ์ •๋ฆฌ


๐ŸŽˆ ์ฐธ๊ณ 


Book ๋งํฌ

profile
Go Go

0๊ฐœ์˜ ๋Œ“๊ธ€