自己的解法
# 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]:
p = tmp = ListNode(-1)
if list1 == None or list2 == None:
return list1 or list2 or None
while list1 or list2:
if list1 != None and list2 != None:
if list1.val >= list2.val:
tmp.next = ListNode(list2.val)
list2 = list2 and list2.next
tmp = tmp.next
continue
if list1.val < list2.val:
tmp.next = ListNode(list1.val)
list1 = list1 and list1.next
tmp = tmp.next
continue
if list1 == None:
tmp.next = ListNode(list2.val)
list2 = list2 and list2.next
tmp = tmp.next
continue
if list2 == None:
tmp.next = ListNode(list1.val)
list1 = list1 and list1.next
tmp = tmp.next
continue
return p.next