美文网首页
链表算法之-链表找环

链表算法之-链表找环

作者: 旭仔_2e16 | 来源:发表于2018-10-09 16:10 被阅读0次

思想:快慢指针

public Node getEntryNode(Node root){
    if(root==null || root.next==null) return null;
    if(root=root.next) return root;//自环
    Node fast=root.next.next;
    Node slow=root.next;
    while(fast!=null && fast.next.next!=null){//如果链表无环的话肯定是快指针先到头
        if(fast==slow){
            fast=root;
            while(fast!=slow){
                fast=fast.next;
                slow=slow.next;
            }
            return fast;//相等的时候就是环的入口
        }else{
            fast=fast.next.next;
            slow=slow.next;
        }
     }    
    return null;
}

相关文章

  • 链表算法之-链表找环

    思想:快慢指针

  • 2020-08-19

    单链表找环(floyd算法) 首先是示意图,链表中有环就是这种情况 问题是,在这样一个单链表中,若有环,寻找出环的...

  • 算法题面试复习

    算法模块 1. 链表 1. 链表翻转 2. 单链表判断是不是环+求环位置+求环长度 以图片为例,假设环入口距离链表...

  • 链表

    单向链表 链表反转 判断是否有环,找链表的中间节点 快慢指针 找环的入口(求两个链表的交点可以转化成这个问题) p...

  • 算法四·链表找环

    两种方式: 一、通过java中的集合类HashSet来解决问题 二、通过快慢指针的方法来做

  • 算法面试:链表环的检测

    在有关链表的面试算法题中,检测链表是否有环是常见的题目。 给定一个链表,要求你判断链表是否存在循环,如果有,给出环...

  • 和我一起在LeetCode刷题吧(每天一题LeetCode

    分类标签:链表 难易度:中等 题目描述: 给定一个有环链表,实现一个算法返回环路的开头节点。 有环链表的定义...

  • 数据结构与算法整理

    (1)链表的技巧 快慢指针(找环,环入口,环长度) 双指针(倒数K个节点) 合并链表(递归求解) 约瑟夫环(环形链...

  • 大厂面试系列(七):数据结构与算法等

    数据结构和算法 链表 链表,常见的面试题有写一个链表中删除一个节点的算法、单链表倒转、两个链表找相交的部分,这个一...

  • 【JS算法】 环形链表双指针

    LeetCood141题给你一个链表的头节点 head ,判断链表中是否有环 通俗易懂的算法 双指针算法 如果是环...

网友评论

      本文标题:链表算法之-链表找环

      本文链接:https://www.haomeiwen.com/subject/isqyaftx.html