当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。

环形链表 II

中等detectCycle()
时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(n),空间 O(1)

环形链表 II

给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回 null。

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。

不允许修改链表。

约定

  • 在本平台中,null 序列化为空数组 []。

输入

  • head:普通数组表示无环链表;{ "values": [...], "pos": i } 表示尾节点指向下标 i。pos: -1 表示无环。

输出

链表开始入环的节点(值数组);从该节点沿 next 输出,首次遇到重复节点时停止,避免无限输出。若无环,输出 []。

示例

输入:

head = { "values": [3, 2, 0, -4], "pos": 1 }

输出:

[2, 0, -4]

入环节点是下标 1 的节点。用例包含无环、自环和不同入环位置;相同节点值不代表同一个节点对象。

Loading...

输入

[{"pos":1,"values":[3,2,0,-4]}]

预期输出

[2,0,-4]
自定义用例