環形連結串列
給定一個連結串列,判斷連結串列中是否有環。
如果連結串列中有某個節點,可以通過連續跟蹤 next 指標再次到達,則連結串列中存在環。 為了表示給定連結串列中的環,我們使用整數 pos 來表示連結串列尾連線到連結串列中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該連結串列中沒有環。注意:pos 不作為引數進行傳遞,僅僅是為了標識連結串列的實際情況。
如果連結串列中存在環,則返回 true 。 否則,返回 false 。
進階:
你能用 O(1)(即,常量)記憶體解決此問題嗎?
示例 1:
輸入:head = [3,2,0,-4], pos = 1
輸出:true
解釋:連結串列中有一個環,其尾部連線到第二個節點。
示例 2:
輸入:head = [1,2], pos = 0
輸出:true
解釋:連結串列中有一個環,其尾部連線到第一個節點。
示例 3:
輸入:head = [1], pos = -1
輸出:false
解釋:連結串列中沒有環。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/linked-list-cycle
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
思路:使用集合判斷當前指標是否存在
class Solution {
public:
bool hasCycle(ListNode *head) {
set<ListNode*> sl;
while(head!=NULL)
{
if(sl.count(head))
return true;
else{
sl.insert(head);
head=head->next;
}
}
return false;
}
};
思路:快慢指標,如果快指標和慢指標重合,說明連結串列是環形,否則不是。
class Solution {
public:
bool hasCycle(ListNode *head) {
if(head==NULL||head->next==NULL)
return false;
ListNode *f=head->next,*l=head;
while(f!=l)
{
if(f==NULL||f->next==NULL)
return false;
f=f->next->next;
l=l->next;
}
return true;
}
};
相關文章
- 環形連結串列II
- 142. 環形連結串列
- 141. 環形連結串列
- 【圖解連結串列類面試題】環形連結串列圖解面試題
- 2024/12/2【連結串列】LeetCode 142 環形連結串列 II 【X】LeetCode
- 環形連結串列_相交連結串列_多數元素(java語言)Java
- Leetcode-142. 環形連結串列 IILeetCode
- 判斷是否為環形連結串列
- LeetCode-142-環形連結串列 IILeetCode
- 演算法141. 環形連結串列演算法
- Python實現環形連結串列詳解Python
- 每日leetcode——142. 環形連結串列 IILeetCode
- 每日演算法隨筆:環形連結串列演算法
- Q22 LeetCode142 環形連結串列LeetCode
- 資料結構與演算法——連結串列 Linked List(單連結串列、雙向連結串列、單向環形連結串列-Josephu 問題)資料結構演算法
- java環形連結串列約瑟夫環問題筆記Java筆記
- 環形連結串列I、II(含程式碼以及證明)
- 力扣學習筆記:142. 環形連結串列 II力扣筆記
- 單連結串列成環
- 連結串列有環知多少~
- 程式碼隨想錄演算法訓練營第4天 | 連結串列兩兩交換、刪除倒N、連結串列相交、環形連結串列演算法
- Day4(連結串列)|24. 兩兩交換連結串列中的節點 & 19.刪除連結串列的倒數第N個節點 & 面試題 02.07. 連結串列相交 &142.環形連結串列II面試題
- 連結串列中環的入口結點
- **24. 兩兩交換連結串列中的節點****19.刪除連結串列的倒數第N個節點****面試題 02.07. 連結串列相交****142.環形連結串列II**面試題
- 連結串列找環(python實現)Python
- LeetCode 之 JavaScript 解答第141題 —— 環形連結串列 I(Linked List Cycle I)LeetCodeJavaScript
- [演算法]向有序的環形單連結串列中插入新節點演算法
- Day 4 | 24. 兩兩交換連結串列中的節點 、 19.刪除連結串列的倒數第N個節點 、面試題 02.07. 連結串列相交 、142.環形連結串列II面試題
- 連結串列 - 單向連結串列
- 連結串列-迴圈連結串列
- 連結串列-雙向連結串列
- 第四天:● 24. 兩兩交換連結串列中的節點 ● 19.刪除連結串列的倒數第N個節點 ● 面試題 02.07. 連結串列相交 ● 142.環形連結串列II面試題
- 連結串列4: 迴圈連結串列
- 連結串列-雙向通用連結串列
- 連結串列-單連結串列實現
- 連結串列-雙向非通用連結串列
- 【LeetCode】->連結串列->通向連結串列自由之路LeetCode
- 連結串列入門與插入連結串列