edited by
1,596 views
5 votes
5 votes

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:

  1. reverse(trav->next) -> next = trav;
  2. trav->next -> next = trav;
  3. trav -> next = trav;
  4. trav = reverse(trav->next);
edited by

1 Answer

4 votes
4 votes
Recursive Function to reverse linked list :

node* reverse(node* trav){
        if(trav->next)
        reverse(trav->next) = trav;
        else head = trav;
        return trav;
}
Answer:

Related questions

3 votes
3 votes
2 answers
1
8 votes
8 votes
2 answers
2
1 votes
1 votes
3 answers
3
3 votes
3 votes
4 answers
4
Arjun asked Oct 18, 2016
774 views
What will be the output of the following code?#include <stdio.h int main() { char a = 'A', z = 'Z'; printf("%d", z-a); }