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

设计网站的一般过程网站优化公司大家好

设计网站的一般过程,网站优化公司大家好,哪里找专业做网站的人常熟,企业网站推广17前言: 💥🎈个人主页:​​​​​​Dream_Chaser~ 🎈💥 ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上链表OJ题目 目录 leetcode142. 环形链表 II 1.问题描述 2.代码思路 3.问题分析 leetcode142. 环形链…

前言: 

💥🎈个人主页:​​​​​​Dream_Chaser~ 🎈💥

✨✨刷题专栏:http://t.csdn.cn/UlvTc

⛳⛳本篇内容:力扣上链表OJ题目

目录

leetcode142. 环形链表 II

 1.问题描述

 2.代码思路

3.问题分析


leetcode142. 环形链表 II

来源: 142. 环形链表 II - 力扣(LeetCode)

 1.问题描述

        给定一个链表的头节点  head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null

 题解接口:

struct ListNode *detectCycle(struct ListNode *head) {}

 2.代码思路

前提条件:

是fast走的路程是slow的2倍。

解题思路:

        第一步,先定义一个快指针fast以及一个慢指针slow,这里跟环形链表1的快慢指针的操作一致,不作详细说明。之后找到可以证明链表带环的相遇点,并定义meet指针指向slow或此时的fast。

       第二步:接着让head指针从链表第一个节点开始移动,meet指针从相遇点开始移动,然后它们将会在链表带环的入口处相遇。(这是这道题思考的方向,但是如何去证明呢?)

 代码实现:

struct ListNode *detectCycle(struct ListNode *head) {struct ListNode* fast=head,*slow=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;//如果链表无环,则返回 null
}

代码执行:

3.问题分析

结论证明:

        一个指针从相遇点(meet)走,一个指针从链表头(head)开始走,他们会在入口点(返回值)相遇。为什么?以下是证明:

假设:

链表头--环入口点距离:L

环入口点--相遇点距离:X

环的长度:C

依据题意求出slow指针所走过的距离,明显是L+X

然后思考一个问题:有没有可能slow进环转了几圈才追上?

        答:不可能! 1圈之内,fast必然追上slow,因为他们之间距离每次缩小1,不会错过,slow走1圈,fast都走了2圈了,肯定追上了。

        所以说可以简单的求出fast指针在环上走过的距离:L+C +X  ,并且根据

        2*(L+X) = L+C+X

        L+X = C

        第一种情况:L=C-X -->可以求出链表头到环入口点距离

        试想一下,当L的距离越长,环的大小越小,那么L=C-X依旧成立吗?

        由图可得, 可得到第二个结论:L=(n-1)*C+C-X   (n-1)*C表示fast在环内转了(n-1)

        总结:无论是第一种情况,还是第二种情况,meet与head均会在入环处相遇。

        本篇到此结束,感谢你的来访与支持,如有错误,十分欢迎指正。

http://www.dinnco.com/news/72344.html

相关文章:

  • 有多少网站可以推广业务深圳seo培训
  • 东莞免费自助建站模板百度流量统计
  • 重庆怎么做网站?今日头条官网首页
  • 在美国做垂直网站指数分布
  • 做网站单页视频南昌seo排名外包
  • 淘宝客做网站教程世界杯大数据
  • 开源建站软件常州谷歌优化
  • 祖传做网站搜索引擎优化管理实验报告
  • 建网站买空间阿里巴巴国际站关键词推广
  • 免费做网站页头图电子商务平台建设
  • 三级网站做爰广告联盟app下载官网
  • 重庆哪家做网站好百度宁波运营中心
  • 做兼职在线抠图网站百度贴吧官网首页
  • 网站建设 域名 空间网页平台做个业务推广
  • 有谁想做网站 优帮云seo快速排名是什么
  • 做明星网站可以做那些子网页什么是域名
  • 怎么cms做网站如何网络推广
  • 优秀网站推荐搜索引擎免费登录入口
  • 已经注册了域名 怎么做网站做网站企业
  • 第一ppt南京网站seo
  • 个人介绍html代码简单郑州seo公司排名
  • 找个做游戏的视频网站好广告设计
  • wordpress查看全文seo专业学校
  • wordpress怎样设置会员免费网站排名优化技巧
  • 国家市场监督管理总局投诉电话什么是网站优化
  • 一个旅游网站怎么做谷歌关键词
  • 网站建设 麻烦吗seo百科
  • 鄢陵网站建设seo分析seo诊断
  • 案例网站模板_案例网官网建设
  • 网站备案不成功的原因有哪些西安seo顾问培训