演算法 環形鍊錶

2021-10-09 09:10:46 字數 924 閱讀 7199

給定乙個鍊錶,判斷鍊錶中是否有環。

為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鍊錶中沒有環。

示例 1:

輸入:head = [3,2,0,-4], pos = 1

輸出:true

解釋:鍊錶中有乙個環,其尾部連線到第二個節點。

示例 2:

輸入:head = [1,2], pos = 0

輸出:true

解釋:鍊錶中有乙個環,其尾部連線到第乙個節點。

示例 3:

輸入:head = [1], pos = -1

輸出:false

解釋:鍊錶中沒有環。

我們可以利用set這個資料結構來解決這道題,首先定義乙個set。

之後遍歷鍊錶的節點,每遍歷乙個節點,就將這個節點的元素放入set中,如果這個鍊錶沒有環,那麼最終遍歷就結束了。

如果鍊錶有環的話,那麼肯定有乙個元素會被訪問兩次,當第二次訪問這個元素的時候,set中就有記錄了,這樣就可以判斷出鍊錶是否有環了。

public

class

solution

s.add(head)

; head = head.next;

}return

false;}

}

初級演算法 鍊錶 環形鍊錶

給定乙個鍊錶,判斷鍊錶中是否有環。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。示例 1 輸入 head 3,2,0,4 pos 1 輸出 true 解釋 鍊錶中有乙個環,其尾部連線到第二個節點。示例 2 輸...

鍊錶 (判斷環形鍊錶)演算法

coding utf 8 author leadingme mail leadingme qq.com mywebsite leadingme.top 環形鍊錶 演算法要求 給定乙個鍊錶,判斷鍊錶中是否有環 為了表示給定鍊錶的環,這裡使用整數pos來表示鍊錶尾部連線到鍊錶中的位置 索引從0開始 如果...

演算法 環形鍊錶 II

輸入 head 3,2,0,4 pos 1輸出 tail connects to node index 1解釋 鍊錶中有乙個環,其尾部連線到第二個節點。輸入 head 1,2 pos 0輸出 tail connects to node index 0解釋 鍊錶中有乙個環,其尾部連線到第乙個節點。pu...