---
# System prepended metadata

title: C語言題庫-072

---

# C語言題庫-072
華爲面試題：怎麼判斷鏈表中是否有環？
【參考答案】答：用兩個指針來遍歷這個單向鏈表，第
一個指針p1，每次走一步；第二個指針p2，每次走兩
步；當p2 指針追上p1的時候，就表明鏈表當中有環
路了。
```
int testLinkRing(Link *head)
{
Link *t1=head,*t2=head;
while( t1->next && t2->next)
{
t1 = t1->next;
if (NULL == (t2 = t2->next->next))
return 0; // 無環
if (t1 == t2)
return 1;
}
return 0;
}
```
