给定一个链表,判断链表中是否有环。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
//快慢指针
bool hasCycle(struct ListNode *head) {
struct ListNode *p1 =head;
struct ListNode *p2 = head;
while(1)
{
if(p1 == NULL)
{
return false;
}
p1 = p1->next;
if(p1 == NULL)
{
return false;
}
p1 = p1->next;
p2 = p2->next;
if(p1 != NULL && p1 == p2 )
{
return 1;
}
}
}