一:判断链表是否为带环链表
首先如何判断链表是否有环,这个时候首先需要知道链表是否为空,如果不为空,则继续判断。
思路:首先定义两个变量,一个fast,一个slow,让fast 每次走两步,slow每次走一步,当fast和slow相遇时,即是该链表存在环结构。如果该链表为无环结构,则当遍历完这个链表时也不会相遇。即是返回false。
判断条件: (fast != null && fast.next != null)
如果存在环形结构则如下图所示:
初始值都指向头结点 走第一步
首先如何判断链表是否有环,这个时候首先需要知道链表是否为空,如果不为空,则继续判断。
思路:首先定义两个变量,一个fast,一个slow,让fast 每次走两步,slow每次走一步,当fast和slow相遇时,即是该链表存在环结构。如果该链表为无环结构,则当遍历完这个链表时也不会相遇。即是返回false。
判断条件: (fast != null && fast.next != null)
如果存在环形结构则如下图所示:
初始值都指向头结点 走第一步