各位CSDN的uu们你们好呀,今天,小雅兰愉快的刷题内容是链表的中间结点。嘿嘿,小雅兰的单链表还在偷懒ing,一直没有更新,最近应该会更新出来。下面,就让我们进入链表的中间结点的世界吧。
方法一:快慢指针法
这种方法真的是一个绝绝子的方法呢!!!
定义两个结构体指针,一个为慢指针slow,一个为快指针fast
slow每次走一步,fast每次走两步
上述是奇数个结点的情况
下面,我们来看看偶数个结点的情况
好啦,下面让我们来看看源代码:
struct ListNode* middleNode(struct ListNode* head){ struct ListNode*slow=head; struct ListNode*fast=head; while(fast!=NULL&&fast->next!=NULL) { slow=slow->next; fast=fast->next->next; } return slow; }
哈哈哈,这就是非常愉快的一次刷题记录啦,方法真的很哇塞呢!!!
好啦,小雅兰今天的内容就到这里啦,还要继续加油刷题噢!!!