牛客题霸 NC3 链表中环的入口结点

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛客题霸 NC3 链表中环的入口结点相关的知识,希望对你有一定的参考价值。

https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4

解决方案

Go

func EntryNodeOfLoop(pHead *ListNode) *ListNode {
	ptr1, ptr2 := pHead, pHead
	for {
		if ptr2 == nil || ptr2.Next == nil {
			return nil
		}
		ptr2 = ptr2.Next.Next
		ptr1 = ptr1.Next
		if ptr1 == ptr2 {
			break
		}
	}
	for ptr2 = pHead; ptr1 != ptr2; {
		ptr2 = ptr2.Next
		ptr1 = ptr1.Next
	}
	return ptr1
}

参考文章

以上是关于牛客题霸 NC3 链表中环的入口结点的主要内容,如果未能解决你的问题,请参考以下文章

牛客网高频算法题系列-BM7-链表中环的入口结点

牛客题霸 NC23 划分链表

剑指Offer(牛客网) 链表中环的入口结点

牛客题霸 NC2 重排链表

牛客题霸 NC21 链表内指定区间反转

牛客题霸 NC4 判断链表中是否有环