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 }