ciao a tutti.
devo fare una funzione che date 2 liste contenenti dei polinomi mi crei una terza lista con la somma dei polinomi.

io l'ho pensata così...
Codice PHP:
nodo crea(){
    
nodo *head=new nodo;
    
head->link=NULL;
    return 
head;
}
void polinomiosomma(nodo head1nodo head2nodo head3){
    if ((
head1==NULL) && (head2==NULL)){
        return;
    }
    else
    {
        
head3->link=crea();
        if ((
head1->esp>head2->esp) || (head2==NULL))
        {
            
head3->esp=head1->esp;
            
head3->coef=head1->coef;
            return 
polinomiosomma(head1->link,head2,head3->link);
        }
        if ((
head1->esp<head2->esp) || (head1==NULL))
        {
            
head3->esp=head2->esp;
            
head3->coef=head2->coef;
            return 
polinomiosomma(head1,head2->link,head3->link);
        }
        if (
head1->esp==head2->esp){
            
head3->esp=head1->esp;
            
head3->coef=(head1->coef+head2->coef);
            return 
polinomiosomma(head1->link,head2->link,head3->link);
        }
    }

la logica funziona.. il problema che trovo però è che facendo così lui mi crea un nodo successivo di head3 anche se poi magari non ci vado a scrivere. come posso fixarlo secondo voi?

sperando di essermi spiegato bene

grazie