本文主要是介绍牛客NC3 链表中环的入口结点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
牛客NC3 链表中环的入口结点
题目如下:
主要思想就是首先利用快慢指针判断是否有环,如果有环,再根据下面的思想让快指针重头开始走,慢指针继续走,走到相遇就是环入口结点的地方:
代码如下:
public class Solution {public ListNode EntryNodeOfLoop(ListNode pHead) {ListNode ft = pHead;ListNode fast = pHead;ListNode slow = pHead;while(fast != null && fast.next != null){fast = fast.next.next;slow = slow.next;if(fast == slow){while(slow != ft){slow = slow.next;ft = ft.next;}return ft;}}return null;}
}
源自:fzzf的博客
这篇关于牛客NC3 链表中环的入口结点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!