Consider the following incomplete C function for reversing a singly linked list.
node* reverse(node* trav){
if(trav->next)
__________________
else
{
head -> next = null;
head = trav;
}
return trav;
}
Here, head is a global pointer pointing to the head of the list and where the head of the reversed list is supposed to be returned. The missing line can be correctly filled by:
- reverse(trav->next) -> next = trav;
- trav->next -> next = trav;
- trav -> next = trav;
- trav = reverse(trav->next);