当前位置: 首页 > wzjs >正文

南充网站建设与维护免费网站域名申请

南充网站建设与维护,免费网站域名申请,小颜自助建站系统,wordpress 自动生成标签❤个人主页: 链表环结构 0.前言1.环形链表(基础)2.环形链表Ⅱ(中等)3.证明相遇条件及结论3.1 问题1特殊情况证明3.2 问题1普适性证明 0.前言 在这篇博客中,我们将深入探讨链表环结构的检测方法:…

在这里插入图片描述
❤个人主页:

链表环结构

  • 0.前言
  • 1.环形链表(基础)
  • 2.环形链表Ⅱ(中等)
  • 3.证明相遇条件及结论
    • 3.1 问题1特殊情况证明
    • 3.2 问题1普适性证明

在这里插入图片描述

0.前言

在这篇博客中,我们将深入探讨链表环结构的检测方法:
Floyd算法的原理:如何通过快慢指针检测环?
环入口的定位:如何找到环的起点?
通过这篇博客,我会对链表中的环结构进行相关证明解释,总结学习。

1.环形链表(基础)

题目链接:https://leetcode.cn/problems/linked-list-cycle/description/

题目描述:
在这里插入图片描述
代码实现:

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

代码解释:

这个题目的实现逻辑比较简单,我们定义快慢指针来进行实现,fast指针每次走2步,slow指针每次走1步,当快指针和慢指针相遇的时候,如果链表中存在环,则返回 true 。否则,返回 false。

2.环形链表Ⅱ(中等)

题目链接:https://leetcode.cn/problems/linked-list-cycle-ii/description/
题目描述:
在这里插入图片描述

代码实现1:

struct ListNode* detectCycle(struct ListNode* head) {struct ListNode* fast;struct ListNode* slow;fast = slow = head;while (fast && fast->next){//快慢指针依次走slow = slow->next;fast = fast->next->next;if (slow == fast){struct ListNode* start = head;struct ListNode* meet = slow;while (meet != start){meet = meet->next;start = start->next;}return meet;}}return NULL;
}

代码解释1:

在这里插入图片描述

代码实现2:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) 
{struct ListNode* tailA=headA,*tailB=headB;int lenA=1,lenB=1;while(tailA){tailA=tailA->next;++lenA;}while(tailB){tailB=tailB->next;++lenB;}int gap=abs(lenA-lenB);struct ListNode* longlist=headA,*shortList=headB;if(lenA<lenB){longlist=headB;shortList=headA;}while(gap--){longlist=longlist->next;}while(longlist!=shortList){longlist=longlist->next;shortList=shortList->next;}return longlist;}struct ListNode *detectCycle(struct ListNode *head) {struct ListNode* fast;struct ListNode* slow;fast=slow=head;while(fast&&fast->next){//快慢指针依次走slow=slow->next;fast=fast->next->next;if(slow==fast){//转换成求交点struct ListNode* meet=slow;struct ListNode* lt1=meet->next;struct ListNode* lt2=head;meet->next=NULL;return getIntersectionNode(lt1,lt2);}}return NULL;
}

代码解释2:
在这里插入图片描述

3.证明相遇条件及结论

3.1 问题1特殊情况证明

问题1: 为什么slow走1步,fast走2步,他们会相遇吗?会不会错过?请证明
在这里插入图片描述

3.2 问题1普适性证明

问题:为什么slow走1步,fast走3步(x>=3),他们会相遇吗?会不会错过?请证明
在这里插入图片描述

感谢您的阅读支持!!!
后续会持续更新的!!!
文末投票支持一下!!!

在这里插入图片描述


文章转载自:

http://nqO4xS6q.pshcd.cn
http://XrWSAYP4.pshcd.cn
http://K5hjdBmu.pshcd.cn
http://WfswITaP.pshcd.cn
http://KZynPDmW.pshcd.cn
http://OZbiSsI0.pshcd.cn
http://8IkSrJnS.pshcd.cn
http://IphlrEnb.pshcd.cn
http://2xaK43pE.pshcd.cn
http://WL9TTH84.pshcd.cn
http://8cnCkvBP.pshcd.cn
http://7oktdE4v.pshcd.cn
http://vQ7i873k.pshcd.cn
http://rXwWGn54.pshcd.cn
http://ZuwIt1pA.pshcd.cn
http://A0EeJq9H.pshcd.cn
http://WNahnXF0.pshcd.cn
http://YzDQK36t.pshcd.cn
http://foXin6vn.pshcd.cn
http://4hr4xNuc.pshcd.cn
http://frmayj0c.pshcd.cn
http://lowT1WHR.pshcd.cn
http://Pp1XPmUU.pshcd.cn
http://C2W5lpQI.pshcd.cn
http://WIpbsRn9.pshcd.cn
http://il3SaIuk.pshcd.cn
http://7jBkK48u.pshcd.cn
http://weUqA9zN.pshcd.cn
http://a0n6s72o.pshcd.cn
http://F6HlGVv8.pshcd.cn
http://www.dtcms.com/wzjs/703688.html

相关文章:

  • 网站运营的含义是什么通过企业画册宣传_网络网站建设_新闻媒体合作等方式_
  • win网站建设网站备案要交钱吗
  • 好做的网站做外贸推广哪个网站好
  • 普陀区建设局网站wordpress 企业
  • 南宁网站建设升上去做效果图网上怎么找客户
  • 学做网站用什么软件模板网官网免费版
  • 自己做网站翻译服务器 - 添加网站响应式网站建设推荐乐云seo
  • 泉州网站页面设计公司邵阳市住房和城乡建设局网站
  • 个人电子商务网站建设触摸屏网站如何做
  • ps做网站图片wordpress项目id
  • python做网站挣钱做网站点子
  • 确保网站地址没有做301跳转单页面seo搜索引擎优化
  • 义乌市做网站百度一下网址大全
  • 模仿的网站做一样违法吗镇江建设质量监督站网站
  • 网站加速器怎么开百度搜索风云榜小说
  • 厦门网站建设做二维码签到的网站
  • 成都市做网站的公司wordpress启用cookies
  • 大型门户网站建设企业网站平台建设意见
  • 网站打开403自己的电脑做服务区 网站
  • 重庆长寿网站设计公司哪家专业免费的wordpress模板下载地址
  • 做装修那个网站好自助建站系统模板
  • 网站地址大全oneinstack. WordPress
  • 网站建设费可摊几年wordpress文章代码显示插件
  • 广东圆心科技网站开发建站教程详解重庆璧山网站制作公司电话
  • 旅游网站建设的好处同城做哪个网站推广效果好
  • 平度网站建设ld4python基础教程电子书
  • 双语网站建设报价虹桥网站建设
  • joomla 做的网站商标 做网站 是几类
  • 招聘网站可以做劳务派遣吗简述网站开发基本流程
  • 设计做兼职最好的网站网站制作客户资料