【leetcode】環形連結串列
阿新 • • 發佈:2018-12-22
題目:
給定一個連結串列,判斷連結串列中是否有環。
進階:
你能否不使用額外空間解決此題?
思路:
兩個指標,一個快,一個慢。有環的話必定會追上。
程式碼:
bool hasCycle(struct ListNode *head) { /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ struct ListNode * fast; struct ListNode * slow; if(head ==NULL || head -> next == NULL) return false; else{ fast = head -> next; slow = head; while(fast != NULL){ if(fast == slow) return true; else{ fast = fast -> next; if(fast == NULL) return false; else{ fast = fast -> next; slow = slow -> next; } } } return false; } }