原题链接:https://leetcode.cn/problems/linked-list-cycle-ii/description/
1. 题目描述
2. 思路分析
如果有小伙伴不了解环形链表,可以先看看这篇文章:
https://blog.csdn.net/m0_62531913/article/details/132352203?spm=1001.2014.3001.5502
我们来看下图:
我们根据这个结论就可以做出这道题目了!文章来源:https://www.toymoban.com/news/detail-656668.html
3. 代码实现
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode *detectCycle(struct ListNode *head) {
struct ListNode *slow=head,*fast=head;
while(fast&&fast->next)
{
slow=slow->next;
fast=fast->next->next;
if(slow==fast)
{
struct ListNode *meet=slow;
while(head!=meet)
{
head=head->next;
meet=meet->next;
}
return meet;
}
}
return NULL;
}
文章来源地址https://www.toymoban.com/news/detail-656668.html
到了这里,关于【数据结构OJ题】环形链表II的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!