def Merge(head1, head2): if head1 == None: return head2 if head2 == None: return head1 psuhead = ListNode(-1) tail = psuhead while head1 and head2: if head1.val < head2.val: cur = head1 head1 = head1.next else: cur = head2 head2 = head2.next cur.next = tail.next tail.next = cur tail = cur Print(psuhead) # link the rest nodes if head1 == None: head1 = head2 tail.next = head1 head1 = psuhead.next del psuhead psuhead = None return head1