Merge two sorted linked lists

  • + 0 comments
    static SinglyLinkedListNode mergeLists(SinglyLinkedListNode head1, SinglyLinkedListNode head2) {
        SinglyLinkedListNode dummy = new SinglyLinkedListNode(0);
        SinglyLinkedListNode curr = dummy;
    
        while (head1 != null && head2 != null) {
            if (head1.data > head2.data) {
                curr.next = head2;
                head2 = head2.next;
            }
            else {
                curr.next = head1;
                head1 = head1.next;
            }
            curr = curr.next;
        }
    
        // add left head2 nodes all
        if (head1 == null) curr.next = head2;
    
        // add left head1 nodes all
        if (head2 == null) curr.next = head1;
    
        return dummy.next;
    }