卿酒苏苏 2022-03-23 21:27 采纳率: 75%
浏览 51
已结题

逆置带头结点的单链表

题目要求逆置带头结点的单链表,求看看我写的代码错在哪里,以及怎么改,输入数据运行后没有输出。谢谢回答!

img

img

img

  • 写回答

1条回答 默认 最新

  • 。菀枯。 2022-03-23 22:39
    关注

    你将p->next = NULL后,然后让p = p->next,此时p已经为空指针,所以程序已经无法访问p->next,最后你将L->next = p;所以L->next = NULL,所以你没有输出。

    void inverse(ListNode* L)
    {
      ListNode* cur = L->next;
      ListNode* pre = NULL;
      while(cur)
      {
        ListNode* next = cur->next;
        cur->next = pre;
        pre = cur;
        cur = next;
      }
      L->next = pre;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月23日
  • 创建了问题 3月23日