티스토리 뷰

문제


정렬된 두 개의 링크된 list1list2의 head가 주어진다.

두 목록을 하나의 정렬된 list로 병합하고, 병합된 list의 헤드를 반환한다.


leetcode 21 - Merge Two Sorted Lists


코드

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
        # list1과 list2를 비교하여, 더 작은 값이 왼쪽에 오도록 한다.
        if (not list1) or (list2 and (list1.val > list2.val)):
            list1, list2 = list2, list1 # Python 다중 할당

        # list1의 next를 재귀호출 하며 다음번 연결 리스트가 계속 스왑될 수 있도록 한다.
        if list1:
            list1.next = self.mergeTwoLists(list1.next, list2)
        return list1
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함