876. 链表的中间结点 发表于 2023-07-02 更新于 2023-07-04 分类于 力扣 阅读次数: Waline: 本文字数: 106 阅读时长 ≈ 1 分钟 考点 快慢指针/双指针 题解 123456789101112class Solution { public: ListNode* middleNode(ListNode* head) { ListNode *slow = head, *fast = head; while (fast->next != nullptr) { slow = slow->next; fast = fast->next; if (fast->next != nullptr) fast = fast->next; } return slow; }}; 思路 同样使用快慢指针,但和以往不同,需要再往下走一格 可以和之前的代码作对比 12345678ListNode* findMid(ListNode* head) { ListNode *slow = head, *fast = head; while (fast->next != nullptr && fast->next->next != nullptr) { slow = slow->next; fast = fast->next->next; } return slow; }