java创建链表 链表是否有环?
浏览量:2631
时间:2021-04-03 07:09:38
作者:admin
链表是否有环?
单链表有一个环,这意味着单链表中某个节点的下一个指针字段指向链表中该节点之前的一个节点,从而在链表的末尾形成一个环结构。有几种方法可以判断链表是否有链接。
判断一个链表中是否有环?
首先设置两个指针指向链的头部,然后一个指针一次向前移动一步,另一个指针一次向前移动两步。如果快速指针遇到null,则证明列表中没有环。如果有一个环,快速指针每次都会比慢速指针多走一步,最后两个指针会相遇。(注意:这里,快速指针不会跳过慢速指针,也不会碰撞Bool judge(list*head){if(head==null){return false//no ring}list*pfast=headlist*pslow=headwhile(pfast next!=null&p上一步!=null){pfast=pfast next pslow=pslow next
我想这段代码应该检查链表中是否有环。当两个指针相遇时,表示链表中有环。建议只联系单子,不要看这么复杂的东西,手写遍历倒什么的好。
代码是有上下文的,你不能只看一句话就能全部理解。如果查看循环语句的结束条件,至少应该查看循环中执行的操作。
当链表长度为偶数时,遍历到尾部,fast指向null,但循环不结束,否则会做出判断。此时将报告段落错误。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
机场公司网站 注册公司网站查询