题目要求逆置带头结点的单链表,求看看我写的代码错在哪里,以及怎么改,输入数据运行后没有输出。谢谢回答!
你将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;
}