void reserve(linkNode<char> *head)           //头插入的逆置方法
{
 linkNode<char> *q;
 q=head->next;
 if(head->next==NULL||head->next->next==NULL)
  return;
 else
  while(q!=NULL&&q->next!=NULL)
  {
   linkNode<char> *temp;
   temp=q->next;
   q->next=temp->next;
   temp->next=head->next;
   head->next=temp;
  }
}

linkNode<char> *reserve(linkNode<char> *head,int flag)       //递归
{
 linkNode<char> *temp;
 if(head->next==NULL)
  return head;
 else
 {
  temp=reserve(head->next,1);
        head->next->next=head;
  head->next=NULL;
        return temp;
 }
}

 

 

 

其中递归算法还是存在一定的问题  返回的指针并非指向第一个头结点  而是就是头结点   且链表最后一个元素是(逆置前的)头指针,怎么改呢?

相关文章:

  • 2021-09-22
  • 2021-08-24
  • 2022-12-23
  • 2022-12-23
  • 2021-06-06
  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
猜你喜欢
  • 2021-08-15
  • 2021-10-24
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2021-11-06
相关资源
相似解决方案