脚本宝典收集整理的这篇文章主要介绍了leetcode 环形链表 II,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
找到环的起点需要做一些不同于快慢指针的处理,我们可以在快慢指针第一次相遇后,将其中一个指针再次指向头结点,并以相同的速度使两个指针再次向前推进,再次相遇时,就是对应的环起点。
public ListNode detectCycle(ListNode head) { ListNode fast=head; ListNode slow=head; while(fast!=null&&fast.next!=null) { fast=fast.next.next; slow=slow.next; if(fast==slow) break; } if(fast==null||fast.next==null) return null; fast=head; while(fast!=slow) { fast=fast.next; slow=slow.next; } return slow; }
以上是脚本宝典为你收集整理的leetcode 环形链表 II全部内容,希望文章能够帮你解决leetcode 环形链表 II所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。