一、题目
函数原型:
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
相关推荐
mifengxing20 分钟前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析Tongzhi20261 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析Wang's Blog1 小时前
AI Agent白手起家30: 动态示例选择器之根据长度选择 Few Shot 示例oyguyteggytrrwwwrt3 小时前
自制交叉线路识别算法手写码匠3 小时前
华为云Flexus+DeepSeek征文|Dify 多智能体协同编排实战:R1 规划 + V3 执行,构建企业 Agent 团队晓天衡宇•评测社区4 小时前
FSR-Bench 前沿科学推理榜单发布:GPT-5.5 居首,“会推理”未必“能答对”程序喵大人5 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器hanlin035 小时前
动态规划专练:力扣第121、122题To_OC5 小时前
LC 74 搜索二维矩阵:换皮的二分查找,我居然一开始没看出来文心快码BaiduComate5 小时前
文心快码荣获“中国优秀软件产品”,实力再获国家级认可