一、题目链接
https://leetcode.cn/problems/middle-of-the-linked-list/submissions/538121725、
二、思路
定义快慢指针,快指针一次走两步,慢指针一次走一步,最后慢指针的位置就是中间结点的位置
三、题解代码
//快慢指针,快指针一次走两步,慢指针一次走一步
struct ListNode* middleNode(struct ListNode* head) {struct ListNode*p1=head,*p2=head;while(p2!=NULL&&p2->next!=NULL){p1=p1->next;p2=p2->next->next;}return p1; //最后慢指针的位置就是中间结点的位置
}