016 · Middle of the Linked List
algorithm
Problem
给定一个单链表的头节点 head。
请返回这个链表的中间节点。
链表中的每个节点包含两个部分:
val:当前节点的值next:指向下一个节点的指针
如果链表中有两个中间节点,需要返回第二个中间节点。
例如:
1 -> 2 -> 3 -> 4 -> 5 -> None
中间节点是 3,所以返回从节点 3 开始的后半段链表:
3 -> 4 -> 5 -> None
再例如:
1 -> 2 -> 3 -> 4 -> 5 -> 6 -> None
中间节点有两个:3 和 4。题目要求返回第二个中间节点,所以返回从节点 4 开始的后半段链表:
4 -> 5 -> 6 -> None
Examples
示例 1
Input: head = [1,2,3,4,5]
Output: [3,4,5]
解释:链表的中间节点是值为 3 的节点。
示例 2
Input: head = [1,2,3,4,5,6]
Output: [4,5,6]
解释:链表有两个中间节点,值分别为 3 和 4,需要返回第二个中间节点。
Constraints
- 链表中节点的数量范围是 \([1, 100]\)
- \(1 \leq\)
Node.val\(\leq 100\)
Link
→ Solution