一、题目
函数原型:
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
相关推荐
船厂电气自动化ai大模型35 分钟前
AI大模型与数学·第57课 傅里叶全套工具链综合实战:串联级数/连续变换/DFT/FFT,图像、音频、扩散模型完整例题人工智能培训1 小时前
人工智能数据安全下的个人信息保护实践方案Brilliantwxx2 小时前
【算法从零到千】【59-65】链表专题元启数宇2 小时前
幕墙AI设计算法逻辑:元启数宇如何智能分格宵时待雨2 小时前
优选算法专题16:多源BFS重生之后端学习2 小时前
53. 最大子数组和[中等]✅INGNIGHT3 小时前
1908 · 布尔表达式求值(stack单调栈&dfs)lucas_AI3 小时前
把表格压成 64 个 token,长文档问答反而更准了:先找表,再看数Zzz 小生3 小时前
Lazy Theta*:把昂贵的视线检测留到“真正需要”时再做l1258654 小时前
# LangGraph Deep Research Agent 全流程设计:多轮研究、人机协同与真实来源管理