int reverse(node * tmp)
{
    static int i;
   // cout<<i<<" ";
    i++;
    if(tmp==NULL)
    {
        return 0;
    }
    if((tmp->next)==NULL)
    {
        head=tmp;
        i--;
        return 0;
    }
    if((tmp->next)!=NULL)
    {
        reverse(tmp->next);
        (tmp->next)->next=tmp;
        i--;
        if(i==0)
        {
            tmp->next=NULL;
            tail=tmp;}

        return 0;
    }

return 0;
}

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.
>
>


-- 
Ankur Khurana
Computer Science , 4th year
Netaji Subhas Institute Of Technology
Delhi.

-- 
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