一、题目
函数原型:
bool hasCycle(struct ListNode *head)
二、算法判断不是环形链表,只需遍历链表找到空结点即可。
判断是环形链表,由于链表是环形的,遍历不会永远不会结束。所以要设置快慢指针,慢指针一次走一步,快指针一次走两步。当两个指针都进入环时,快指针走地比慢指针快,因此快指针总会遇到慢指针。因此,判断是环形链表的条件是慢指针等于快指针。
三、代码
cppbool hasCycle(struct ListNode *head) { struct ListNode *fast=head; struct ListNode *slow=head; while(fast&&fast->next) { fast=fast->next->next; slow=slow->next; if(fast==slow) return true; } return false; }
leetcode:141. 环形链表
南林yan2023-11-08 20:02
相关推荐
葫三生41 分钟前
关于三生原理系列被技术开发社区批量收录或引发策展边界讨论的一种思考catcatuncle41 分钟前
OpenWorkBuddy 部署排错手册:从源码启动到自己搭一个给团队用,七个最容易卡住的地方avi911144 分钟前
【AI教人】在Inspector显示所有Delegate-Odin Inspector之三淡海水1 小时前
06-02-源码-增量标记算法实现碧海银沙音频科技研究院1 小时前
实现炬芯ATS308X的usb cdc 串口IAP 固件升级功能实现云淡风轻~窗明几净1 小时前
角谷猜想与百度AI的对话dialog(原始稿)小O的算法实验室2 小时前
ASOC,分层分数阶粒子群算法+无人机电场路径规划傅科摆 _ py2 小时前
链表力扣复习重生之小比特2 小时前
【算法拾光】二分查找|搜索插入位置 + x 的平方根智购科技自动售卖机厂家3 小时前
双摄像头方案F1-score只有0.85,排查发现是上下视角的融合逻辑写反了~YH