141 環形鍊錶 快慢指標 和 雜湊表

2021-10-01 18:04:38 字數 676 閱讀 9770

題目:給定乙個鍊錶,判斷鍊錶中是否有環

思路1快慢指標

:想象一下,兔子和烏龜在環形跑道上賽跑,那麼兔子和烏龜一定會相遇。

所以,定義快指標fast=head,每次走兩步; 慢指標 slow = head,每次走一步;

那麼,若fast與slow 相遇則說明鍊錶有環;若fast==null 或fast.next為空,則鍊錶無環。

**:

/**

* definition for singly-linked list.

* class listnode

* }*/public class solution

}return false;

}}

思路2雜湊表:

如果對於雜湊表熟悉的話,我們很容易能想到通過雜湊表來儲存已經遍歷的節點,然後判斷下個要遍歷的節點是否已經在雜湊表裡存在:若存在則說明是環,否則直到遍歷結束也沒有找到,那說明不是環。

**:

/**

* definition for singly-linked list.

* class listnode

* }*/public class solution

cur = cur.next;

}return false;

}}

leetcode141環形鍊錶 (快慢指標)

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

141 環形鍊錶 HashMap 快慢指標詳解

142.環形鍊錶ii分析 三 題解 四 複雜度 本文主要講解leetcode中141.環形鍊錶和142.環形鍊錶ii 基於hashmap和快慢指標兩種解法。141.環形鍊錶 142.環形鍊錶ii 方法一 雜湊表 方法二 雙指標方法一 雜湊表 思路同141方法二 雙指標 思路和141大致是相同的。但是...

141 環形鍊錶

給定乙個鍊錶,判斷鍊錶中是否有環。高階 你能否不使用額外空間解決此題?乙個快指標走兩步 乙個慢指標走一步 如果相遇就有環 不然沒環 class solution def hascycle self,head type head listnode rtype bool index1 head inde...