//改变指针方向
void ReverseLinkList(LinkList *list)
{
if(list == NULL || list->next ==NULL) return;
LinkList *p = list->next;
LinkList *q = p->next;
list ->next =NULL;
{
while(p != NULL)
{
p->next = list->next;
list->next = p;
p = q;
if(q != NULL)
{
q=q->next;
}
}
}
//有头结点
ListNode *reverseList(ListNode *head)
{
if(head == nullptr || head->next == nullptr) exit(0);
ListNode *p = head;
{
while(p->next != nullptr) head=head->next;
}
while(p != head)
{
ListNode *s = p;
p = p->next;
s->next = haed->next;
head ->next = s;
}
return head;
}
//无头结点
ListNode *reverseList(ListNode *head)
{
ListNode *p = head->next;
head->next = NULL;
while(p != NULL)
{
ListNode *s = p;
p = p->next;
s ->next = head->next;
head->next = s;
}
return head;
}
//分部逆置(无头结点)
ListNode *reverseList(ListNode *head)
{
if(head == nullptr || head->next == nullptr ) return head;
ListNode *pre = nullptr;
ListNode *cur = nullptr;
while(head != nullptr)
{
cur = head;
head = head->next;
cur->next = pre;
pre = cur;
}
return cur;
}