美文网首页
链表中环的检测

链表中环的检测

作者: 我姓杨却不是你信仰 | 来源:发表于2020-11-17 10:38 被阅读0次
    /**
     * 链表中环的检测。
     * 定义一个慢节点,一个快节点。快节点先走一步
     * 后续慢节点走一步,快节点走两步。如果链表中有环存在,那么快,慢节点,总会在某一处相遇。
     * 如果没有环,那么快节点会先null,退出while循环
     * @param node
     * @return
     */
    public static Boolean hasNodeLoop(Node node){
        if(null == node || node.next == null){
            return false;
        }
        //定义慢节点
        Node slow = node;
        //定义快节点,先走一步
        Node fast = node.next;
        while (slow != null && fast != null){
            if(slow == fast){
                return true;
            }
            slow = slow.next;
            fast = fast.next.next;
        }
        return false;
    }

    相关文章

      网友评论

          本文标题:链表中环的检测

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