876. 链表的中间结点
# 题目描述
给定一个头结点为 head
的非空单链表,返回链表的中间结点。
# 样例
Input: 1->2->3->4->5->6
Ouput: 4->5->6
1
2
2
# 题解
使用快慢指针实现,慢指针走一步,快指针走两步。当快指针走到尽头的时候,慢指针正好在中点。
# 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
1
2
3
4
5
6
7
2
3
4
5
6
7
编辑 (opens new window)
上次更新: 2022/10/25, 02:40:54