首页 > 代码库 > Linked List Cycle

Linked List Cycle

这个题目就是用两个指针遍历链表,一个指针每次跳一步,另外一个指针每次跳两步,如果重合,则说明有环。

 1 #define NULL 0 2  3 class Solution { 4 public: 5     bool hasCycle(ListNode *head) { 6         ListNode* ptr1,*ptr2; 7         if(head == NULL) 8             return false; 9         ptr1 = head;10         ptr2 = head;11         while(ptr2->next != NULL && ptr2->next->next != NULL)12         {13             ptr1 = ptr1->next;14             ptr2 = ptr2->next->next;15             if(ptr1 == ptr2)16                 return true;17         }18         return false;19     }20 };