Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.2 kB
1
Indexable
Never
Node<int>* sortTwoLists(Node<int>* first, Node<int>* second)
{
    Node<int>* head1=first;
    Node<int>* head2= second;
    Node<int>* ans=NULL;
    while(head1!=NULL && head2!=NULL){
        if(head1->data<head2->data){
            Node<int>* tmp= new Node<int>(head1->data);
            tmp->next=ans;
            ans=tmp;
            head1=head1->next;
            //free(tmp);
        }else{
            Node<int>* tmp= new Node<int>(head2->data);
            tmp->next=ans;
            ans=tmp;
            head2=head2->next;
            //free(tmp);
        }
    }
    while(head1!=NULL){
        Node<int>* tmp= new Node<int>(head1->data);
        tmp->next=ans;
        ans=tmp;
        head1=head1->next;
    }
    while(head2!=NULL){
        Node<int>* tmp= new Node<int>(head2->data);
        tmp->next=ans;
        ans=tmp;
        head2=head2->next;
    }
    //reverse ll
    Node<int>* curr=ans;
    Node<int>* prev=NULL;
    Node<int>* forward=NULL;
    while(curr!=NULL){
        forward=curr->next;
        curr->next=prev;
        prev=curr;
        curr=forward;
    }
    ans=prev;
    return ans;
}