ノートタイトルleetcodeブラシ(のpython3) - 141リンクリストサイクル。

141リンクされたリストサイクル

それはそれでサイクルを持っている場合、リンクされたリストを考えると、決定します。

与えられたリンクされたリストにサイクルを表すために、我々は、尾部の接続先リンクされたリスト内の位置(0インデックス)を表す整数POSを使用します。posが-1の場合は、リンクされたリストにはサイクルがありません。

例1:

入力:ヘッド= [3,2,0、-4]、POS = 1つの
出力:真
説明:サイクルがリンクされたリストであり、テール接続する第2のノードへ。
ここに画像を挿入説明

例2:

入力:ヘッド= [1,2]、POS = 0
出力:真
説明:サイクルがリンクされたリストであり、尾コネクト最初のノードです。

ここに画像を挿入説明
例3:

入力:ヘッド= [1]、POS = -1
出力:偽
解説:リンクリストにはサイクルがありません。

ここに画像を挿入説明

ファローアップ:

あなたはO(1)(すなわち一定の)メモリを使用してそれを解決することはできますか?

テストgolangの別の部分

func hasCycle(head *ListNode) bool {
	if head == nil {
		return false
	}
	fast, slow := head, head
	for fast != nil {
		if fast.Next == nil {
			return false
		}
		fast = fast.Next.Next
		slow = slow.Next
		if fast == slow {
			return true
		}
	}
	return false
}
公開された98元の記事 ウォンの賞賛0 ビュー1456

おすすめ

転載: blog.csdn.net/weixin_44555304/article/details/104419852
おすすめ