• + 0 comments

    def mergeLists(head1, head2):

      new_list=SinglyLinkedList()
    
    current1=head1
    current2=head2
    
    while current1 and current2:
        if current1.data==current2.data:
            new_list.insert_node(current1.data)
            new_list.insert_node(current2.data)
            current1=current1.next
            current2=current2.next
        elif current1.data < current2.data:
            new_list.insert_node(current1.data)
            current1=current1.next
        elif current2.data < current1.data:
            new_list.insert_node(current2.data)
            current2=current2.next
    
    while current1:
        new_list.insert_node(current1.data)
        current1=current1.next
    
    while current2:
        new_list.insert_node(current2.data)
        current2=current2.next
    
    return new_list.head