有序,依次判断结点val大小即可
判断完大小后将结点加入新链表,最后返回新链表的头结点即可

def Merge(self , pHead1: ListNode, pHead2: ListNode) -> ListNode:
    if pHead1 == None:
        return pHead2
    if pHead2 == None:
        return pHead1
        
    head = ListNode(0)      # 新表的头结点
    cur = head
    while pHead1 != None and pHead2 != None:
        if pHead1.val <= pHead2.val:
            cur.next = pHead1
            pHead1 = pHead1.next
        else:
            cur.next = pHead2
            pHead2 = pHead2.next
        cur = cur.next
               
    if pHead1 == None:      # 将剩余的结点添加进新链表
        cur.next = pHead2
    else:
        cur.next = pHead1
        
    return head.next

最开始我的代码中并没有2~5行的判断,不过后来看评论区及题解的时候思考了一下,还是加上了
因为不加判断,如果给定空链表,则会多一步创建空结点,造成浪费