//链表反转
LinkList reverse(LinkList head){
if(head == NULL || head->next == NULL)
return head;
LinkList pfirst, pnext = head->next ,c;
//链首节点最后变为链尾节点
pfirst->next = NULL;
//可以理解为原链表已经分裂为两个链表
//一个是pfrist指向的链表
//一个是pnext指向的链表
//while循环的每次操作都是把pnext指向的链表首插入到pfirst指向的链表首
while(pnext != NULL){
c = pnext->next;
pnext->next = pfirst;
//为下次循环作条件
pfirst = pnext;
pnext = c;
}
return pfirst;
}
链表的翻转
最新推荐文章于 2022-06-11 21:09:10 发布