so here is the code that gives me headache :
void newCopy(ListNode* n, List* l) { if (n == NULL) { return; } if (n->next == NULL) { push(n