# 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]:
dummy = ListNode()
res = dummy
while list1 and list2:
v1 = list1.val
v2 = list2.val
if v1 < v2:
res.next = ListNode(v1)
res = res.next
list1 = list1.next
else: # v1 >= v2:
res.next = ListNode(v2)
res = res.next
list2 = list2.next
remain = list1 if list1 else list2
# while remain:
# res.next = ListNode(remain.val)
# res = res.next
# remain = remain.next
res.next = remain # 위 while 문을 한줄로..
return dummy.next
'LeetCode > Top Interview 150' 카테고리의 다른 글
92. Reverse Linked List II (1) | 2024.12.07 |
---|---|
138. Copy List with Random Pointer (0) | 2024.12.07 |
2. Add Two Numbers (0) | 2024.12.07 |
List(싸이클탐지): 141. Linked List Cycle (0) | 2024.12.06 |
224. Basic Calculator (0) | 2024.12.06 |