CodeACM
HOT 100 · 链表 · LC 141

环形链表:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给你一个链表的头节点 head ,判断链表中是否有环。

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。

如果链表中存在环 ,则返回 true 。 否则,返回 false 。

输入格式

第一行输入两个整数 n 和 pos。

第二行输入 n 个整数,表示下标从 0 到 n−1 的节点值。

输出格式

若链表存在环,输出 true;否则输出 false。

数据范围

  • 0 ≤ n ≤ 10⁴
  • −1 ≤ pos < n
  • −10⁵ ≤ 节点值 ≤ 10⁵

公开样例

样例 1

输入

4 1
3 2 0 -4

输出

true

尾节点连接到下标 1,形成环。

样例 2

输入

2 0
1 2

输出

true

尾节点连接到下标 0,形成环。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。