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

网页设计基础教学网站性能优化方法

网页设计基础教学,网站性能优化方法,wordpress主页空白页,织梦网站模块前言: 💥🎈个人主页:​​​​​​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.15wanjia.com/news/42889.html

相关文章:

  • 网络推广的优点app排名优化
  • 南宁市网络推广公司哪家好优化设计数学
  • 免费b2b网站大全黄页88北京网络推广外包公司排行
  • 赣州公司做网站第三方平台推广
  • 江夏区做网站最新新闻热点事件2024
  • 小程序骗局开发报价公司seo排名优化
  • 网站推广的意义和方法关键词挖掘站网
  • 网站建设维护培训网站建设的重要性
  • 临汾市网站建设营销策划思路
  • 电脑建立网站郑州模板建站代理
  • 凡科网站做的好不好baiduseoguide
  • 有模版之后怎么做网站seo 培训教程
  • 做英文网站用什么源码查淘宝关键词排名软件
  • 没有营业执照怎么样做百度企业网站百度推广话术全流程
  • 做网站上的在线支付怎么做友情链接平台网站
  • seo网站分析报告广东云浮疫情最新情况
  • 定远建设局官方网站西安网站seo哪家公司好
  • 新房装修北京网站优化托管
  • 深圳网站建设 东莞网站建设企业网站seo案例
  • 专门做护肤品的网站是搜狗推广开户
  • 苏州注册公司一站式如何创建一个自己的网站
  • 企业网站seo推广技巧石家庄网站seo外包
  • 最优网络做网站平台营销
  • 金融投资网站开发su搜索引擎优化
  • 国外推广国内网站免费推广工具有哪些
  • 国家pccm建设申报网站台州百度关键词排名
  • hao123网址之家搜索引擎关键词怎么优化
  • 做网站页面过大好短链接生成网址
  • 电商网站首页图片切换怎么做的网络营销战略有什么用
  • 建设银行预约纪念钞网站郑州seo外包v1