NC3 链表中环的入口结点
描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。
输入描述: 输入分为2段,第一段是入环前的链表部分,第二段是链表环的部分,后台将这2个会组装成一个有环或者无环单链表 返回值描述: 返回链表的环的入口结点即可。而我们后台程序会打印这个节点
public class Solution {
public ListNode EntryNodeOfLoop(ListNode pHead) {
if(pHead == null || pHead.next == null){
return null ;
}
ListNode slow = pHead , fast = pHead.next ;
while(slow != fast){
if(fast == null || fast.next == null){
return null ;
}
slow = slow.next ;
fast = fast.next.next ;
}
slow = pHead ;
while(slow != fast.next ){
fast = fast.next ;
slow = slow.next ;
}
return slow ;
}
}
|