当前位置:   article > 正文

Java单链表是否有环及寻找环入口_java 判断是否有环

java 判断是否有环

一、断链表是否为带环链表

首先需要知道链表是否为空,如果不为空,则继续判断。

思路:
定义两个快慢指针,让他们一直移动,如果最终快指针=慢指针,这说明在这个链表中必然存在环。

如果是非带环链表,那么快指针到最后一定是null

是否是带环链表思路图如下:

左边浅黄色为慢指针slow,右边浅绿色为快指针fast,一开始都在头部
在这里插入图片描述
第一次:
在这里插入图片描述
第二次:
在这里插入图片描述
第三次:
在这里插入图片描述
第四次:
在这里插入图片描述
此时fast和slow相遇,说明是带环链表

实现代码:

public class test {
   
    public boolean hasCycle(ListNode head) {
   
        ListNode fast 
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号