题目描述:判断给定的链表中是否有环。如果有环则返回true,否则返回false。
解题思路:利用快慢指针解决,如果链表存在闭环,两个指针一定会相遇。
bool hasCycle(ListNode *head) {
if(head == NULL) return false;
ListNode *fast = head;
ListNode *slow = head;
while(fast!=NULL&&fast->next!=NULL)
{
fast = fast->next->next;
slow = slow->next;
if(fast == slow)
return true;
}
return false;
}