1. 题目
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。
如果有两个中间结点,则返回第二个中间结点。
2. 解题
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8e6188953f7f1a3f2e204b3ae566071f.png)
class Solution {
public:
ListNode* middleNode(ListNode* head) {
ListNode *fast = head, *slow = head;
while(fast && fast->next)
{
fast = fast->next->next;
slow = slow->next;
}
return slow;
}
};