美文网首页算法
链表是否存在环的判断

链表是否存在环的判断

作者: _NewMoon | 来源:发表于2019-08-08 23:18 被阅读0次

如何判断一个单链表是否存在环

  1. 快慢指针: 创建两个指针first,second指向头节点,first每次走一个结点,second每次走两个结点,
    如果该链表中存在环,那么这两个指针一定能相遇(快慢指针的思路在链表题目中非常常见,需要掌握)
    2.一般方法: 创建两个指针p,q指向头节点,p总是向前走,q每次走从头开始走,每次相遇,比较两个指针

例题: 141. 环形链表

141.环形链表
class Solution {
public:
    bool hasCycle(ListNode *head) {
        if(!head||head->next==NULL) return false;
        ListNode *first,*second;
        first = head;
        second = head->next;
        while(first!=second && second->next!=NULL && second->next->next != NULL)
        {
            first = first->next;
            second = second->next->next;
        }
        return first == second? true:false;
    }
};

相关文章

  • 判断一个单链表是否存在环

    问题:如题,判断一个单链表是否存在环 分析:判断一个单链表是否存在环,问题情况分为如下 [x] 首尾相连 [x] ...

  • 链表算法面试?看我就够了!——链表中存在环问题

    链表中存在环问题 3.1 判断链表是否有环 单链表中的环是指链表末尾的节点的 next 指针不为 NULL ,而是...

  • 快慢指针的应用

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

  • LeetCode-Golang之【141. 环形链表】

    给定一个链表,判断链表中是否有环。如果链表中存在环,则返回 true 。 否则,返回 false 。 Golang 题解

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

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

  • 链表中环的入口结点

    题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路 判断链表中是否存在环。...

  • 链表是否存在环的判断

    如何判断一个单链表是否存在环 快慢指针: 创建两个指针first,second指向头节点,first每次走一个结点...

  • Day72 环形链表

    给定一个链表,判断链表中是否有环 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。...

  • 初级算法-链表-环形链表

    给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环...

  • 2021-11-04 141. 环形链表【Easy】

    给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。...

网友评论

    本文标题:链表是否存在环的判断

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