141. 環形連結串列
阿新 • • 發佈:2018-12-09
題目
程式碼
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: //利用快慢指標 快指標每次前進2步,慢指標每次前進一步,最後如果快指標追上了慢指標則說明有迴圈 bool hasCycle(ListNode *head) { if(head==nullptr||head->next==nullptr) return false; ListNode* slow=head,*fast=head->next; while(slow!=fast) { if(fast==nullptr||fast->next==nullptr) return false; slow=slow->next; fast=fast->next->next; } return true; } };
思路
快慢指標即可解決,程式碼思路清晰。