環形鍊錶I

2021-10-03 04:33:03 字數 734 閱讀 8991

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

思路一:

通過乙個雜湊表,在向後遍歷時每遍歷乙個就加進去,然後判斷這個節點之前是否新增過。如果從頭到尾都沒有則不是環形,有的話就是。

/**

* definition for singly-linked list.

* class listnode

* }*/public

class

solution

set.

add(head)

; head = head.next;

}return

false;}

}

思路二:

使用雙指標,乙個跑得快,乙個跑得慢。如果有環的話,那麼跑的快的一定會追上跑的慢的。如果到頭都沒有追上,那麼就沒有環。

public

class

solution

listnode slow = head;

listnode fast = head.next;

while

(fast!=null && fast.next!=null)

slow = slow.next;

fast = fast.next.next;

}return

false;}

}

環形鍊錶I 與 環形鍊錶II(非常容易理解)

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

鍊錶 環形鍊錶

環形鍊錶也叫迴圈鍊錶 可以是雙鏈表 也可以是單鏈表 操作原理和單鏈表差不多,只是最後乙個節點不在指向空 null 而是頭 head 這裡以單鏈表舉例 description 環形鍊錶 author lzq date 2018 11 3 20 46 version 1.0 public class a...

鍊錶 環形鍊錶

題目描述 給定乙個鍊錶,返回鍊錶開始入環的第乙個節點。如果鍊錶無環,則返回 null。為了表示給定鍊錶中的環,我們使用整數 pos 來表示鍊錶尾連線到鍊錶中的位置 索引從 0 開始 如果 pos 是 1,則在該鍊錶中沒有環。注意,pos 僅僅是用於標識環的情況,並不會作為引數傳遞到函式中。說明 不允...