一、题目描述
二、题目分析
2.1 分析
这题用到快慢指针的思想。要想判断链表是否有环,可以定义一个慢指针 slow 和一个快指针 fast。一开始慢指针是指向链表头节点 head,而快指针指向链表头节点的下一个 head.next。慢指针 slow 一下走一步,快指针 fast 一下走两步。如果链表有环,则快指针一定会追上慢指针,相遇。如果快指针 fast 走到链表尽头或者超过链表,则代表链表没有环。
2.2 图解
-
有环相遇
-
无环越界
三、题解
- 环形链表的实现
这题用到快慢指针的思想。要想判断链表是否有环,可以定义一个慢指针 slow 和一个快指针 fast。一开始慢指针是指向链表头节点 head,而快指针指向链表头节点的下一个 head.next。慢指针 slow 一下走一步,快指针 fast 一下走两步。如果链表有环,则快指针一定会追上慢指针,相遇。如果快指针 fast 走到链表尽头或者超过链表,则代表链表没有环。
有环相遇
无环越界