我的小站——半生瓜のblog
環形連結清單
141. 環形連結清單 - 力扣(LeetCode) (leetcode-cn.com)
什麼是連結清單帶環:連結清單的最後一個元素不指向空而指向前面的某個結點。
思路:快慢指針,慢指針走一步,快指針走兩步,二者先後 進入環内進行追逐,最終會在某個點相遇。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
bool hasCycle(struct ListNode *head) {
struct ListNode* slow = head;
struct ListNode* fast = head;
while(fast && fast->next)
{
slow = slow->next;
fast = fast->next->next;
if(slow == fast)
return true;
}
return false;
}
擴充:
請證明: