环形链表
Posted zouma
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了环形链表相关的知识,希望对你有一定的参考价值。
1.hash表:太慢了,内存消耗太多了。。当做思路看看得了。。
1 bool hasCycle(ListNode *head) 2 unordered_map<ListNode*, bool> map; 3 ListNode* temp = head; 4 bool res = false; 5 while(temp!=nullptr) 6 7 if (map.count(temp)) 8 9 res = true; 10 break; 11 12 map[temp] = true; 13 temp = temp->next; 14 15 return res; 16
2.快慢指针
1 bool hasCycle(ListNode *head) 2 ListNode* fast=head; 3 ListNode* slow = head; 4 bool res = false; 5 while (fast&&fast->next) 6 7 fast = fast->next->next; 8 slow = slow->next; 9 if (fast == slow) 10 11 res = true; 12 break; 13 14 15 return res; 16
以上是关于环形链表的主要内容,如果未能解决你的问题,请参考以下文章