一、题目
函数原型:
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
相关推荐
专注仿真13 小时前
知识问答模型用到的算法集详解及代码实例罗西的思考14 小时前
【轻量化复刻大模型 / KIMI K3】AttnRes 模块交互式演示好悬给我拽开线17 小时前
ZILOT 论文解析饮水桶_T18 小时前
JAVA IO流笔记星夜离尘5619 小时前
MATLAB 离散数据分箱:半开区间、末端点与计数、加权和、平均Pniubi19 小时前
力扣76.最小覆盖子串地平线开发者20 小时前
征程6|用 hrt\_model\_exec 看清 YOLOv5x 的输入、原始输出和后处理csdn_aspnet21 小时前
C++ 3个有序点的方向(Orientation of 3 ordered points)赤生云电竞21 小时前
GPU算力共享平台架构实践:任务分发与资源隔离的关键配置青少儿编程课堂1 天前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:折半搜索优化子集枚举(Meet in the Middle)解析