Interview Questions

Reverse link list using recursion.

Microsoft Interview Questions and Answers


(Continued from previous question...)

49. Reverse link list using recursion.

Question:
Reverse link list using recursion.


maybe an answer:

Node reverse(Node head,Node previous){
if(head == null)
return previous;
Node tmp = head.next;
head.next = previous;
prevoous = head;

reverse(tmp,previous);


maybe an answer2:

struct node
{
int data;
struct node *next;
};

void Reverse(struct node **headRef)
{
struct node *first;
struct node *rest;

if(NULL == *headRef) return;

first = headRef;
rest = first->next;

if(NULL == rest) return;

Reverse(& rest);

first->next->next = first;
first->next = NULL;

*headRef = rest;
}

(Continued on next question...)

Other Interview Questions