给定一个 单链表 的头节点 head,请你判断链表中 是否存在环。
如果某个节点能通过连续跟踪 next 指针 再次到达,就说明链表里有环;有环返回 true,无环返回 false。
输入
本题的目标是判断给出的链表是否包含环。
给你链表的头节点 head。如果从链表中的某个节点出发,沿着 next 指针一路向下访问,最终还能再次回到这个出发节点,就说明链表中存在环。
当链表存在环时,返回 true;否则返回 false。
约束条件:
设链表节点数为 n。
输入包含一个参数:
head:链表头节点,类型为 ListNode。链表节点包含整数值 val 和指向后继节点的指针 next。如果链表没有环,尾节点的 next 指向 None。链表尾部的实际连接方式由一个整数 pos 描述:它表示尾节点的 next 指针连接到链表中的位置,位置下标从 0 开始计数。若 pos=−1,则尾节点没有连接回链表内部,也就是没有环。这里的 pos 仅用于说明链表结构,不会作为检测函数的输入参数。
返回一个布尔值。如果链表中存在环,返回 true;否则返回 false。
输入
3
1 2 3
2
输出
true
说明
链表结构如图:

输入
5
-1 0 1 2 3
-1
输出
false
说明
链表结构如图:

输入
1
100
0
输出
true
说明
链表结构如图:

输入
0
-1
输出
false
说明
链表有 0 个节点,是空链表。空链表中没有节点可以沿 next 回访,因此不存在环,返回 false。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册