`
steven-zhou
  • 浏览: 207875 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

判断链表是否有环

阅读更多
/**
 * if has loop return 1 else return 0
 */
static int has_loop(List *list)
{
    List *pFast;
    List *pSlow;

    pFast = pSlow = list;

    if (pFast != NULL && pFast->next != NULL) {
        pFast = pFast->next->next;
    } else {
        return 0;
    }

    while (pFast != pSlow) {
        if (pFast != NULL && pFast->next != NULL)
            pFast = pFast->next->next;
        else
            break;
        pSlow = pSlow->next;
    }

    if (pFast == pSlow)
        return 1;
    else
        return 0;
}
分享到:
评论

相关推荐

    royIdoodle#fe-interview-chaos#003.判断链表是否有环1

    判断链表是否有环LeetCode原题难度: 简单解题* Definition for singly-linked list.* function ListNod

    双指针法判断链表有环-Java 版

    附件是使用双指针发判断链表有环的代码实现,在Java中,判断单链表是否有环的经典方法是使用Floyd的“龟兔赛跑”算法,也称为快慢指针法。这种方法利用两个指针,一个每次走一步(称为慢指针),另一个每次走两步...

    快慢指针判断链表是否有环-go 语言实现

    在 main 函数中,我们创建了一个有环的链表,并调用 hasCycle 函数来判断它是否有环,最后输出结果。 请注意,这个实现假设链表节点的 Next 指针永远不会指向 nil 以外的其他无效内存地址,否则可能会导致运行时...

    快慢指针法判断链表是否有环-go语言实现

    在 main 函数中,我们创建了一个有环的链表,并调用 hasCycle 函数来判断它是否有环,最后输出结果。 请注意,这个实现假设链表节点的 Next 指针永远不会指向 nil 以外的其他无效内存地址,否则可能会导致运行时...

    python判断链表是否有环的实例代码

    在本篇文章里小编给大家整理的是关于python判断链表是否有环的知识点及实例代码,需要的朋友们参考下。

    判断单链表中是否存在环

    笔试时,常见的题型。判断单链表中是否存在环

    快慢指针法判断单链表有环

    在Java中,判断单链表是否有环的经典方法是使用Floyd的“龟兔...在Main类中,我们创建了一个链表,并故意引入了一个环(最后一个节点指向第二个节点),然后调用hasCycle方法来判断链表是否有环,并打印出相应的结果。

    剑指offer之判断链表是否包含环

    1 问题 判断链表是否包含环 2 思路 2个指针,一个指针走一步,一个指针走2步,如果相遇则有,反之无。... *判断链表是否有环 */ int isCircleList(Node *head) { if (head == NULL) { return false; } Node *fi

    双指针法判断链表有环-go语言实现

    在 main 函数中,我们创建了一个有环的链表,并调用 hasCycle 函数来判断它是否有环,最后输出结果。 请注意,这个实现假设链表节点的 Next 指针永远不会指向 nil 以外的其他无效内存地址,否则可能会导致运行时...

    【双指针】–leetcode(141)–给定一个链表,判断链表中是否有环(python版)

    给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环 思路解析 使用快慢指针进行判断,若该链表...

    链表相关问题的完整代码

    **1、判断链表是否有环** **2、寻找环的入口点** **3、计算环的节点数** **4、计算(有环)链表的节点数** **5、找出环中距任意一点最远的节点** **6、判断两个无环链表是否相交** **7、寻找两个链表的相交的节点**

    判断一个链表是否有环,并指出换的头结点(O(n)时间复杂度)

    供大家交流使用,欢迎大家交流指对。。。欢迎大家下载。。

    判断链表中是否存在环的方法及证明

    一、判断链表中是否存在环的方法及证明 首先说明一点就是如果链中存在环,可能整个链是一个环,也可能是该链表的后面一部分形成了环。如何判断链表中是否存在环,经典的判断方法就是利用两个指向链表头节点的指针,...

    ruoruochen#front-end-note#【Leetcode 142】环形链表Ⅱ(链表环的入口节点)1

    1.判断链表是否有环: P1 P2 从头部出发,P1走两步,P2走一步,如果可以相遇,则环存在 2.从环内某个节点开始计数,再回到此节点时得到链表环的长度 le

    链表有无环

    判断链表是否存在环,用C语言实现,先进行创建链表,输入链表元素结点,然后进行选择创建链表。判断链表是否存在环,用C语言实现,先进行创建链表,输入链表元素结点,然后进行选择创建链表。

    python判断单向链表是否包括环,若包含则计算环入口的节点实例分析

    主要介绍了python判断单向链表是否包括环,若包含则计算环入口的节点,结合实例形式分析了Python针对单向链表的遍历、判断相关算法原理与使用技巧,需要的朋友可以参考下

    用C++实现的循环链表

    这是一个单循环链表,具备基本的操作,在普通链表的基础上,实现了定长循环链表的循环输入,判断链表是否有环等较为特殊的操作。增删改查自然也有。

    编程判断两个链表是否相交

    给出两个单向链表的头指针(如图3-8 所示),比如h1、h2,判断这两个链表是否 相交。这里为了简化问题,我们假设两个链表均不带环。

    常见的链表面试题大汇总

    常见的链表面试题大汇总: 1,创建一个链表结点 2,遍历链表中的所有结点 3,倒序打印链表 4,往链表末尾添加结点 5,往链表前端添加结点, 6,获取链表的节点数目 ...12,判断链表是否有环,并返回环上的节点数目

Global site tag (gtag.js) - Google Analytics