题解 | #判断链表中是否有环#
判断链表中是否有环
https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9
复习一遍双指针的想法
fast一次走两步
slow一次走一步
public class Solution { public boolean hasCycle(ListNode head) { if(head == null) return false; ListNode slow = head; ListNode fast = head; while(fast != null && fast.next != null){ slow = slow.next; fast = fast.next.next; if(slow == fast){ return true; } } return false; } }
同时边界条件也很重要,可以看到,循环退出的条件是fast为空或fast的下一个也为空,这里涉及到一个命题的逆否命题需要注意一下,因为fast走的快,所以只用fast来判断即可
#力扣刷题#