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
|