123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from typing import Optional
- from utils import ListNode, arr_to_linklist, linkList_to_arr
- import pytest
- class Solution:
- def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
-
- if not list1:
- return list2
- elif not list2:
- return list1
- elif list1.val <= list2.val:
- list1.next = self.mergeTwoLists(list1.next, list2)
- return list1
- else:
- list2.next = self.mergeTwoLists(list2.next, list1)
- return list2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if __name__ == "__main__":
- s = Solution()
- list1 = arr_to_linklist([1, 2, 4])
- list2 = arr_to_linklist([1, 3, 4])
- res = s.mergeTwoLists(list1, list2)
- res = linkList_to_arr(res)
- assert res == [1,1,2,3,4,4]
|