美文网首页
快慢指针 判断是否是循环链表

快慢指针 判断是否是循环链表

作者: ES_KYW | 来源:发表于2021-07-03 12:44 被阅读0次
func main() {
    
    n1:=&LoopNode{}
    n2:=&LoopNode{}
    n3:=&LoopNode{}
    n4:=&LoopNode{}
    n5:=&LoopNode{}
    n1.next = n2
    n2.next = n3
    n3.next = n4
    n4.next = n5
    n5.next = n1
   flag := checkLoopNode(n1)
   println(flag)

}

type LoopNode struct{
    val int
    next *LoopNode
}

func checkLoopNode(head *LoopNode) bool{

    if head == nil {
        return false
    }

    fast := head.next
    slow := head

    for fast != nil {
        if slow == fast{
            return true
        }
        fast = fast.next
    }
    return false
    
}
输出:true

相关文章

  • 快慢指针的应用

    什么是快慢指针:快慢指针是链表操作中的常用操作,最经典的应用是判断单链表中是否有环。 判断单链表是否存在环 两个指...

  • 快慢指针 判断是否是循环链表

  • 算法学习--双指针

    双指针分类 快慢指针 左右指针 快慢指针:主要解决链表相关问题,比如:典型的判断链表中是否包含环、链表倒是第K个节...

  • java判断链表是否有环(两种方式实现)

    判断链表是否为带环链表 方法一、快慢指针移动判断 首先如何判断链表是否有环,这个时候首先需要知道链表是否为空,如果...

  • 数据结构面试题

    一、单链表、双链表、循环链表 二、快慢指针 1.判断是否有环 一个指针一步走2下,一个指针一步走1下如果两个指针相...

  • 检测链表中的循环

    给定一个链表,检查链表是否有循环。下图显示了带有循环的链表。 解题思路 使用快慢两个指针遍历链表。将慢指针(slo...

  • 循环链表:快慢指针进阶:找入口

    力扣142 如上图,判断是否为循环链表,和上一题一样,使用快慢指针即可。然后看一下怎么找循环入口点:slow指针走...

  • Java面试题集四

    1、怎么判断环形链表 使用快慢指针:创建两个指针,同时指向这个链表的头节点,然后开始循环,指针1每次移动一个结点,...

  • 链表环操作(java实现)

    判断链表有没有环有环链表一般我们采取快慢指针来判断链表是否有环。思路主要是:定义两个指针。fast和slow;fa...

  • 热题 HOT 100(1-10)

    环形链表 1.给定一个链表,判断链表中是否有环。 将快指针的移动速度设置为慢指针的两倍,将快慢指针同时遍历链表,若...

网友评论

      本文标题:快慢指针 判断是否是循环链表

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