LeetCodeブラッシングノート_141。循環リンクリスト

トピックはLeetCodeからです

141.循環リンクリスト

他のソリューションまたはソースコードにアクセスできます:tongji4m3

解説

リンクリストを指定して、リンクリストにリングがあるかどうかを確認します。

リンクリストにノードがあり、次のポインタを継続的に追跡することで再び到達できる場合、リンクリストにリングがあります。特定のリンクリストのリングを表すために、整数posを使用して、リンクリストの末尾がリンクリストに接続されている位置を示します(インデックスは0から始まります)。posが-1の場合、リンクリストにはリングがありません。注:posはパラメータとして渡されません。リンクされたリストの実際の状況を識別するためだけです。

リンクされたリストにリングがある場合、trueを返します。それ以外の場合は、falseを返します。

输入:head = [3,2,0,-4], pos = 1
输出:true
解释:链表中有一个环,其尾部连接到第二个节点。
输入:head = [1,2], pos = 0
输出:true
解释:链表中有一个环,其尾部连接到第一个节点。
输入:head = [1], pos = -1
输出:false
解释:链表中没有环。

促す:

链表中节点的数目范围是 [0, 104]
-105 <= Node.val <= 105
pos 为 -1 或者链表中的一个 有效索引 。

コード

public boolean hasCycle(ListNode head)
{
    
    
    ListNode fast = head, slow = head;
    while(fast!=null && fast.next!=null)
    {
    
    
        fast = fast.next.next;
        slow = slow.next;
        if(fast==slow) return true;
    }
    return false;
}

おすすめ

転載: blog.csdn.net/weixin_42249196/article/details/108634877