给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
如果链表中有某个节点,判断是否有环
class Solution {
//快慢指针
public:
ListNode *detectCycle(ListNode *head) {
ListNode*a=head;
ListNode*b=head;
while(a!=NULL)
{
b=b->next;
if(a->next==NULL) return NULL;
a=a->next->next;
if(a==b)
{
ListNode*ps=head;
while(ps!=a)
{
a=a->next;
ps=ps->next;
}
return ps;
}
}
return NULL;
}
};