跳到主要内容

876. 链表的中间结点

题目描述

给定一个头结点为 head 的非空单链表,返回链表的中间结点。

样例

Input: 1->2->3->4->5->6
Ouput: 4->5->6

题解

使用快慢指针实现,慢指针走一步,快指针走两步。当快指针走到尽头的时候,慢指针正好在中点。

Python示例

class Solution:
def middleNode(self, head: ListNode) -> ListNode:
slow = fast = head
while fast and fast.next:
fast = fast.next.next
slow = slow.next
return slow