当前位置:首页 > 编程笔记 > 正文
已解决

Leetcode—141.环形链表【简单】

来自网友在路上 180880提问 提问时间:2023-11-19 12:21:39阅读次数: 80

最佳答案 问答题库808位专家为你答疑解惑

2023每日刷题(三十三)

Leetcode—141.环形链表

在这里插入图片描述

快慢指针算法思想

关于快慢指针为什么能检测出环,可以这么思考。 假设存在一个环: 慢指针进入环后,快指针和慢指针之间相距为d,每一次移动,d都会缩小1,在经过r次移动后,二者就会相遇,此时慢指针刚好走完一圈环,快指针则是两倍,即两圈。 不存在环的情况下就是正常结束

实现代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
bool hasCycle(struct ListNode *head) {struct ListNode* fast = head, *slow = head;while(fast != NULL) {fast = fast->next;if(fast != NULL) {fast = fast->next;}slow = slow->next;if(fast == slow && slow != NULL) {return true;}}return false;
}

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Leetcode—141.环形链表【简单】":http://eshow365.cn/6-39255-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!