Merge two sorted linked lists

Given two sorted linked lists, merge them so that the resulting linked list is also sorted.


Python 3

class Solution:
    def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
        cur = dummy = ListNode()
        while list1 and list2:               
            if list1.val < list2.val:
       = list1
                list1, cur =, list1
       = list2
                list2, cur =, list2
        if list1 or list2:
   = list1 if list1 else list2