Skip to main content

21. Merge Two Sorted Lists - LeetCode

from __future__ import annotations


class ListNode:
def __init__(self, val: int = 0, next: ListNode | None = None):
self.val = val
self.next = next


class Solution:
def mergeTwoLists(self, list1: ListNode | None, list2: ListNode | None) -> ListNode | None:
# if (list1 is None) and (list2 is None):
# return None

# if (list1 is None) or (list2 is None):
# return list1 or list2

p = dummy = ListNode()

p1, p2 = list1, list2
while p1 and p2:
if p1.val < p2.val:
p.next, p1 = p1, p1.next
else:
p.next, p2 = p2, p2.next
p = p.next
p.next = p1 or p2
return dummy.next