3.2刷题记录 Linked List Cycle(141)

一个快慢指针的题,slow指针一次一格,fast指针一次两格,当相碰便是有环。减少了时间复杂度,如果使用哈希表解答的话要注意,哈希表存储的必须是地址,是地址匹配才可以,数值匹配是不行的。
class Solution { public: bool hasCycle(ListNode *head) { if(head==NULL||head->next==NULL) { return false; } ListNode*slow=head; ListNode*fast=head->next; while(slow!=fast) { if(fast==NULL||fast->next==NULL) { return false; break; } slow=slow->next; fast=fast->next->next; } return true; } };

浙公网安备 33010602011771号