leetcode:141. 环形链表

编程入门 行业动态 更新时间:2024-10-18 18:27:53

leetcode:141. <a href=https://www.elefans.com/category/jswz/34/1763171.html style=环形链表"/>

leetcode:141. 环形链表

一、题目

函数原型:

bool hasCycle(struct ListNode *head)

二、算法

判断不是环形链表,只需遍历链表找到空结点即可。

判断是环形链表,由于链表是环形的,遍历不会永远不会结束。所以要设置快慢指针,慢指针一次走一步,快指针一次走两步。当两个指针都进入环时,快指针走地比慢指针快,因此快指针总会遇到慢指针。因此,判断是环形链表的条件是慢指针等于快指针。

三、代码

bool 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. 环形链表

本文发布于:2023-11-16 01:08:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1611100.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:环形   链表   leetcode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!