leetcode 环形链表 II
Posted 毅毅毅毅毅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章