看到温总理, 我总是想起屈原 (转载)# Joke - 肚皮舞运动
d*o
1 楼
是不是有错?永远返回true。
因为 else if(fast==slow||fast->next==slow)
这里在最开始的时候fast永远等于slow?
我写了一个看看有问题吗?
bool isCycle(node *head)
{
if(!head) return false;
node *p1 = head;
node *p2 = head;
while(p1!=NULL && p2!=NULL)
{
p2 = p2->next;
if(p2==NULL) return false;
if(p2==p1) return true;
p2 = p2->next;
if(p2==NULL) return false;
if(p2==p1) return true;
p1=p1->next;
if(p1==p2) return true;
}
return false;
}
因为 else if(fast==slow||fast->next==slow)
这里在最开始的时候fast永远等于slow?
我写了一个看看有问题吗?
bool isCycle(node *head)
{
if(!head) return false;
node *p1 = head;
node *p2 = head;
while(p1!=NULL && p2!=NULL)
{
p2 = p2->next;
if(p2==NULL) return false;
if(p2==p1) return true;
p2 = p2->next;
if(p2==NULL) return false;
if(p2==p1) return true;
p1=p1->next;
if(p1==p2) return true;
}
return false;
}