//链表反转
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;
}链表的翻转
最新推荐文章于 2024-12-18 18:15:45 发布
本文详细介绍了链表反转的基本原理及实现步骤。通过一个简洁的示例代码展示了如何将链表进行反转,从链首节点变成链尾节点,并通过循环不断调整节点指针的方向来完成整个链表的反转过程。
1738

被折叠的 条评论
为什么被折叠?



