华为面试题:怎么判断链表中是否有环?

华为面试题:怎么判断链表中是否有环?,第1张

华为面试题:怎么判断链表中是否有环?

【参考答案】

答:用两个指针来遍历这个单向链表,第一个指针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;}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4882757.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-11
下一篇2022-11-11

发表评论

登录后才能评论

评论列表(0条)

    保存