Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 787 Bytes

File metadata and controls

35 lines (28 loc) · 787 Bytes
Node* findIntersection(Node* head1, Node* head2)
    {
        map<int,int>m;
        Node* head=NULL;
        Node* tail=NULL;
        
        Node* p=head1;
        
        while(p!=NULL)
        {
            m[p->data]++;
            p=p->next;
        }
        
        p=head2;
        
        while(p!=NULL)
        {
            if(m.find(p->data)!=m.end())
            {
                head=push(head,p->data,tail);
                m[p->data]--;
                if(m[p->data]==0)
                    m.erase(p->data);
            }
                
            p=p->next;
        }
        
        return head;
    }