题目链接:876. 链表的中间结点 - 力扣(LeetCode)
我们先看题目描述:


我们用画图用快慢指针来解决这个问题
定义一个快指针fast,一个慢指针slow

快指针一次走两个结点,慢指针一次走一个结点
当快指针指向NULL或者快指针的下一个结点指向NULL的时候,慢指针刚好走到中间结点


有了这个思路呢,那我们就可以开始写代码了
- struct ListNode* middleNode(struct ListNode* head)
- {
- struct ListNode* fast=head,*slow=head;
- while( fast && fast->next )
- {
- slow=slow->next;
- fast=fast->next->next;
- }
- return slow;
- }
结果就是通过咯
