reversing linked list

后端 未结 9 1214
星月不相逢
星月不相逢 2020-12-10 16:52

I am trying to reverse a linked list using recursion and wrote the following code for it. The list is start of the list at the beginning.

 node *reverse_lis         


        
9条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-10 17:13

    Severl versions above are not working as OP wanted, so here is my recursive version tested fine:

    node * reverseRecursive(node *p,node **head)
    {
         if(p->next == NULL)
         {
             *head = p;
              return p;
         }
         node *before;
         before = reverseRecursive(p->next,head);
         before->next = p;
         p->next = NULL;
         return p;
    }
    
    //call from main
    node*head; 
    //adding value
    //assuming now head is now 1->2->3->4->NULL
    node* newHead;
    reverseRecursive(head,&newHead);
    //now now newHead is now 4->3->2->1->NULL
    

提交回复
热议问题