I am looking for a solution with no 'tail' node available/static types
used etc.

Also with algorithms given without above two conditions, i don't see
they doing the right thing for me. Maybe i need to check more.

Have you guys tried to see if this is working for you?

On Jul 17, 4:42 pm, bharath kannan <bharathgo...@gmail.com> wrote:
> node * reverse(node *head)
> {
>     if(head->next)
>     {
>          node * temp=reverse(head->next);
>          head->next->next=head;
>          head->next=NULL;
>          return temp;
>    }
>    return head;
>
> }
>
> On Sun, Jul 17, 2011 at 4:57 PM, Piyush Sinha <ecstasy.piy...@gmail.com>wrote:
>
>
>
>
>
>
>
> > *node *reverse(node *head)
> > {
> >     if(head==NULL)
> >           return head;
> >     if(head->next==NULL)
> >           return head;
> >     node *temp = reverse(head->next);
> >     head->next->next = head;
> >     head->next = NULL;
> >      return (temp);
> > }*
>
> > On Sun, Jul 17, 2011 at 4:30 PM, Anika Jain <anika.jai...@gmail.com>wrote:
>
> >> initial call to this will be rev(head);
>
> >> On Sun, Jul 17, 2011 at 4:28 PM, Anika Jain <anika.jai...@gmail.com>wrote:
>
> >>> node *listing::rev(node *p)
> >>> {
> >>>     if(p->next==NULL)
> >>>     {
> >>>         head=p;
> >>>         return p;
> >>>     }
> >>>     else
> >>>     {
> >>>         node *t=rev(p->next);
> >>>         t->next=p;
> >>>         p->next=NULL;
> >>>         tail=p;
> >>>         return p;
>
> >>>     }
> >>> }
>
> >>> On Sun, Jul 17, 2011 at 3:21 PM, Nishant Mittal <
> >>> mittal.nishan...@gmail.com> wrote:
>
> >>>> void rev_recursion(NODE **head)
> >>>> {
> >>>>     if(*head==NULL)
> >>>>     return;
> >>>>     NODE *first, *rest;
> >>>>     first=*head;
> >>>>     rest=first->next;
> >>>>     if(!rest)
> >>>>     return;
> >>>>     rev_recursion(&rest);
> >>>>     first->next->next=first;
> >>>>     first->next=NULL;
> >>>>     *head=rest;
>
> >>>> }
>
> >>>> On Sun, Jul 17, 2011 at 2:53 PM, vaibhav shukla <
> >>>> vaibhav200...@gmail.com> wrote:
>
> >>>>> struct node *reverse_recurse(struct node *start)
> >>>>> {
> >>>>>   if(start->next)
> >>>>>   {
> >>>>>       reverse_recurse(start->next);
> >>>>>       start->next->next=start;
> >>>>>       return(start);
> >>>>>   }
> >>>>>   else
> >>>>>   {
> >>>>>       head=start;
> >>>>>   }
> >>>>> }
>
> >>>>> in main
>
> >>>>> if(head)
> >>>>>     {
> >>>>>       temp = reverse_recurse(head);
> >>>>>       temp->next =NULL;
> >>>>>     }
>
> >>>>> "head and temp are global"
>
> >>>>> On Sun, Jul 17, 2011 at 2:42 PM, Navneet Gupta 
> >>>>> <navneetn...@gmail.com>wrote:
>
> >>>>>> Hi,
>
> >>>>>> I was trying to accomplish this task with the following call , header
> >>>>>> = ReverseList(header)
>
> >>>>>> I don't want to pass tail pointer or anything and just want that i get
> >>>>>> a reversed list with new header properly assigned after this call. I
> >>>>>> am getting issues in corner conditions like returning the correct node
> >>>>>> to be assigned to header.
>
> >>>>>> Can anyone give an elegant solution with above requirement? Since it
> >>>>>> is with recursion, please test for multiple scenarios (empty list, one
> >>>>>> node list, twe nodes
>
> >>>>>> list etc) before posting your solution. In case
> >>>>>> of empty list, the procedure should report that.
>
> >>>>>> --
> >>>>>> Regards,
> >>>>>> Navneet
>
> >>>>>> --
> >>>>>> You received this message because you are subscribed to the Google
> >>>>>> Groups "Algorithm Geeks" group.
> >>>>>> To post to this group, send email to algogeeks@googlegroups.com.
> >>>>>> To unsubscribe from this group, send email to
> >>>>>> algogeeks+unsubscr...@googlegroups.com.
> >>>>>> For more options, visit this group at
> >>>>>>http://groups.google.com/group/algogeeks?hl=en.
>
> >>>>> --
> >>>>>   best wishes!!
> >>>>> Vaibhav Shukla
> >>>>>     DU-MCA
>
> >>>>>  --
> >>>>> You received this message because you are subscribed to the Google
> >>>>> Groups "Algorithm Geeks" group.
> >>>>> To post to this group, send email to algogeeks@googlegroups.com.
> >>>>> To unsubscribe from this group, send email to
> >>>>> algogeeks+unsubscr...@googlegroups.com.
> >>>>> For more options, visit this group at
> >>>>>http://groups.google.com/group/algogeeks?hl=en.
>
> >>>>  --
> >>>> You received this message because you are subscribed to the Google
> >>>> Groups "Algorithm Geeks" group.
> >>>> To post to this group, send email to algogeeks@googlegroups.com.
> >>>> To unsubscribe from this group, send email to
> >>>> algogeeks+unsubscr...@googlegroups.com.
> >>>> For more options, visit this group at
> >>>>http://groups.google.com/group/algogeeks?hl=en.
>
> >>  --
> >> You received this message because you are subscribed to the Google Groups
> >> "Algorithm Geeks" group.
> >> To post to this group, send email to algogeeks@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> algogeeks+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >>http://groups.google.com/group/algogeeks?hl=en.
>
> > --
> > *Piyush Sinha*
> > *IIIT, Allahabad*
> > *+91-7483122727*
> > * <https://www.facebook.com/profile.php?id=100000655377926> "NEVER SAY
> > NEVER"
> > *
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to algogeeks@googlegroups.com.
> > To unsubscribe from this group, send email to
> > algogeeks+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to