Skip to content

环形链表 #14

@YalongYan

Description

@YalongYan

题目地址:环形链表

代码

var hasCycle = function(head) {
    let p1 = head
    let p2 = head
    while (p1 && p2 && p2.next){
        p1 = p1.next
        p2 = p2.next.next
        if (p1 === p2) {
            return true
        }
    }
    return false
};

解题思路

参考操场跑步,跑的快的,会有一个点,正好赶上跑的慢的
对应就是两个指针,一个跑的慢,p1 = p1.next
一个跑的快 p2 = p2.next.next
只要是环形链表,这俩总会相等, 否则就不是

Metadata

Metadata

Assignees

No one assigned

    Labels

    算法New feature or request链表This issue or pull request already exists

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions