以下两个方法只要是存在环快慢指针就一定相遇
1、快慢指针
2、fast先走K步,从第K个节点出发>>相当于在求倒数第K个节点
除了快慢指针,可以用记录步数是否相同,来判断是否会相遇
int has_loop(node_t head)
{
node_t cur1 = head;
int pos1 = 0;
while(cur1){
node_t cur2 = head;
int pos2 = 0;
pos1 ++;
while(cur2){
pos2 ++;
if(cur2 == cur1){
if(pos1 == pos2)
break;
else
return 1;
}
cur2 = cur2->next;
}
cur1 = cur1->next;
}
return 0;
}