算法训练营第七天 | 环形链表 扭捏快指针步步退,霸道慢指针狠狠追
今日算法题142. 环形链表 II编写代码前想法在刚看到题目的时候我觉得题目重点是如何判断链表是否有环我初步判断应该是利用while() 进行判断但如果没有环该利用什么条件来进行判断的退出没有一个合适的判断条件可能会造成无限循环如果将判断环的循环限制在一定范围内那么假设有一个长度非常大的环循环没来得及判断完就到达限制点岂不是会造成误判无环。在视频教程学习后我还明白了使用快慢指针判断链表是否有环的操作方法并知晓了找到环的第一个节点才是重点使用双指针找入口其代码实现也更复杂些。代码编写如下总结本题核心解决两个问题一为判断链表是否存在环二为找到环的入口节点。解题第一步快慢指针判断环的存在分别定义快慢指针均从链表头 head 出发若链表有环快指针一定会在环内追上慢指针。若快指针遇到 NULL说明链表无环直接返回 NULL。解题第二步寻找环的入口节点从链表头和相遇点同时出发每次各走 1 步两个指针一定会在环的入口节点相遇。题目链接https://leetcode.cn/problems/linked-list-cycle-ii/ 视频链接https://www.bilibili.com/video/BV1if4y1d7ob
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2544491.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!