一、题目
函数原型:
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
相关推荐
文丑颜不良啊14 分钟前
LeetCode2921~2940题目解析Pniubi32 分钟前
动态规划入门 ( - 力扣509斐波那契数)吴长建先生重名了2 小时前
GitHub Actions部署报表系统踩坑记:幂等性与限贝壳6902 小时前
一个2026年2月才上传的库,凭什么敢碰2009年就有人写烂的题目文丑颜不良啊2 小时前
LeetCode2901~2920题目解析贝壳6903 小时前
同一道三亿位选型题,三个AI给了我三个答案,我把它们拉进同一台机器复跑文丑颜不良啊5 小时前
LeetCode2861~2880题目解析青少儿编程课堂5 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会图形化考级:校园大富翁经营闯关解析在所不辞兄5 小时前
为什么在新能源汽车电驱与热管理开发中,AI驱动的数字孪生和数据驱动仿真正在部分替代对物理台架与实车标定的依赖?I_belong_to_jesus16 小时前
C++关于分支预测的优化1