DAY 4.链表中环的入口节点
提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录前言一、链表中环的入口节点二、代码实现2.结论总结前言一、链表中环的入口节点思路使用快慢指针都从头节点出发快指针一次走两步慢指针一次走一步如果有环的话他们一定会相遇。找环入口的方法将一个指针放在头节点另一个指针在相遇的位置既保持不变然后同时让他们一次走一步找到他们相遇的节点那个点就是环的入口。二、代码实现代码如下示例structListNode*EntryNodeOfLoop(structListNode*pHead){structListNode*fastpHead;structListNode*slowpHead;while(fast!NULLfast-next!NULL){fastfast-next-next;slowslow-next;if(fastslow){break;}}if(fastNULL||fast-nextNULL){returnNULL;}slowpHead;while(slow!fast){slowslow-next;fastfast-next;}returnslow;}2.结论当快慢指针在环里相遇后把 慢指针放回链表头部两个指针现在都一次只走 1 步它们再次相遇的地方就是环的入口总结快慢指针相遇 有环一个回头一个留原地同速走相遇点 环入口原因就是头到入口的距离 相遇点到入口的距离
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2602790.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!