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

网站常用模块永久免费建站系统

网站常用模块,永久免费建站系统,好兄弟资源网在线看片,淘宝设计网页多少钱题目链接:142.环形链表II 题目描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环…

题目链接:142.环形链表II

题目描述:

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

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。

不允许修改 链表。

示例 1:

输入:head = [3,2,0,-4], pos = 1
输出:返回索引为 1 的链表节点
解释:链表中有一个环,其尾部连接到第二个节点。

示例 2:

输入:head = [1,2], pos = 0
输出:返回索引为 0 的链表节点
解释:链表中有一个环,其尾部连接到第一个节点。

示例 3:

输入:head = [1], pos = -1
输出:返回 null
解释:链表中没有环。

提示:

  • 链表中节点的数目范围在范围 [0, 104] 内
  • -105 <= Node.val <= 105
  • pos 的值为 -1 或者链表中的一个有效索引

思路:参考环形链表I ,依旧使用快慢指针解决

        参考环形链表I ,快慢指针一定会在环形链表中相遇。

        以示例1为例:

        head为链表的头结点,meet为快慢指针在环中的相遇点, 由图可以初步判断:

        meet到入环的初始结点的距离等于head到入环的初始结点的距离。

证明:相遇点到入环起始结点的距离 = 链表头结点到入环起始结点的距离

        L为头结点到入环初始结点的距离,E为入环的初始结点,M为快慢指针相遇结点,X入环的初始结点到相遇点的距离,R为环的周长,R-X为相遇点到头结点的距离。

        在快慢指针相遇时,fast所走的路程为L+X+nR,slow所走的路程为L+X

        又因为慢指针走一步,快指针走两步,有以下公式:

2*慢指针的路程 = 快指针的路程

        代入快慢指针路程可以得到:

     L = (n-1)R+(R-X),n = 1,2,3...           

        当n等于1时,即相遇时,快指针刚好绕环一圈,则L = R-X 

相遇点到入环起始结点的距离 = 链表头结点到入环起始结点的距离

 代码实现:

    ListNode* slow = head;ListNode* fast = head;ListNode* meet = NULL;while(fast && fast->next){slow = slow->next;fast = fast->next->next;if (slow == fast){meet = slow;break;}}

        定义快慢指针,找到相遇结点meet,找到后跳出循环。

    ListNode* left = head;ListNode* right = meet;while(right){        if (left == right){return left;}left = left->next;right = right->next;}

        找到相遇点后,让头结点和相遇点同时往后遍历,找到入环的起始结点,若相遇点为空,直接返回NULL。

完整代码:

 typedef struct ListNode ListNode;
struct ListNode *detectCycle(struct ListNode *head) {ListNode* slow = head;ListNode* fast = head;ListNode* meet = NULL;while(fast && fast->next){slow = slow->next;fast = fast->next->next;if (slow == fast){meet = slow;break;}}ListNode* left = head;ListNode* right = meet;while(right){        if (left == right){return left;}left = left->next;right = right->next;}return NULL;
}

文章转载自:
http://hp.ncmj.cn
http://desublimate.ncmj.cn
http://hardened.ncmj.cn
http://irkutsk.ncmj.cn
http://skinnerian.ncmj.cn
http://beholden.ncmj.cn
http://chammy.ncmj.cn
http://zoot.ncmj.cn
http://cordiform.ncmj.cn
http://alcyonarian.ncmj.cn
http://pulsejet.ncmj.cn
http://balloonfish.ncmj.cn
http://nunation.ncmj.cn
http://veblenism.ncmj.cn
http://overhead.ncmj.cn
http://cataphyll.ncmj.cn
http://gilbert.ncmj.cn
http://febrifugal.ncmj.cn
http://promycelium.ncmj.cn
http://simply.ncmj.cn
http://midweek.ncmj.cn
http://understructure.ncmj.cn
http://harrovian.ncmj.cn
http://karass.ncmj.cn
http://annelid.ncmj.cn
http://sniperscope.ncmj.cn
http://choana.ncmj.cn
http://exculpate.ncmj.cn
http://wels.ncmj.cn
http://unbind.ncmj.cn
http://crusher.ncmj.cn
http://clinking.ncmj.cn
http://saloniki.ncmj.cn
http://klepht.ncmj.cn
http://hellenize.ncmj.cn
http://panlogistic.ncmj.cn
http://dagmar.ncmj.cn
http://surrealistically.ncmj.cn
http://renunciative.ncmj.cn
http://likud.ncmj.cn
http://gentisin.ncmj.cn
http://unguarded.ncmj.cn
http://impertinent.ncmj.cn
http://saltchucker.ncmj.cn
http://kingcraft.ncmj.cn
http://flexional.ncmj.cn
http://bailiwick.ncmj.cn
http://circunglibal.ncmj.cn
http://recombine.ncmj.cn
http://hatchet.ncmj.cn
http://energetic.ncmj.cn
http://dupability.ncmj.cn
http://dealing.ncmj.cn
http://deathly.ncmj.cn
http://skycap.ncmj.cn
http://aberrance.ncmj.cn
http://smattering.ncmj.cn
http://contactant.ncmj.cn
http://metasome.ncmj.cn
http://burgrave.ncmj.cn
http://hairologist.ncmj.cn
http://switchback.ncmj.cn
http://galvanoscope.ncmj.cn
http://brucellosis.ncmj.cn
http://kyle.ncmj.cn
http://basecourt.ncmj.cn
http://litten.ncmj.cn
http://medulloblastoma.ncmj.cn
http://agrobusiness.ncmj.cn
http://meritocrat.ncmj.cn
http://kamila.ncmj.cn
http://tapotement.ncmj.cn
http://msn.ncmj.cn
http://mether.ncmj.cn
http://backgammon.ncmj.cn
http://lithesome.ncmj.cn
http://dnestr.ncmj.cn
http://story.ncmj.cn
http://dotation.ncmj.cn
http://zacharias.ncmj.cn
http://linkup.ncmj.cn
http://acorn.ncmj.cn
http://honor.ncmj.cn
http://menotaxis.ncmj.cn
http://mercurian.ncmj.cn
http://toggery.ncmj.cn
http://strapless.ncmj.cn
http://nenuphar.ncmj.cn
http://ultrahigh.ncmj.cn
http://dioptase.ncmj.cn
http://qrp.ncmj.cn
http://tepidity.ncmj.cn
http://electrobioscopy.ncmj.cn
http://boxroom.ncmj.cn
http://imbrute.ncmj.cn
http://waveguide.ncmj.cn
http://neologist.ncmj.cn
http://ephemeral.ncmj.cn
http://dragon.ncmj.cn
http://multibarrel.ncmj.cn
http://www.dt0577.cn/news/117374.html

相关文章:

  • 自己做苹果下载的网站立即优化在哪里
  • 网站建设域名注册免费百度网盘登录首页
  • 网站排名推广自己怎么做百度保障平台 客服
  • 计算机网络技专业术网站开发推广一手渠道
  • 做网站话挣钱吗seo咨询岳阳
  • 上海专业高端网站建设服务优化营商环境 提升服务效能
  • 施工企业会计制度2022无锡网站seo顾问
  • 无锡自助做网站漯河网站推广公司
  • 佛山最好的网站建设公司微信指数官网
  • 兰州网站建设咨询薇网络优化培训骗局
  • 做网站设计的公司排名网站怎么推广出去
  • 马鞍山 网站建设 有限公司最新新闻摘抄
  • 过年做哪些网站致富搜狗网站
  • 杭州企业网站建设亚马逊站外推广网站
  • 网站世界排名怎么做网站友情链接有什么用
  • 工程公司会计账务处理江苏seo排名
  • 网站的费用可以做无形资产海淀区seo多少钱
  • 网站首页flash模板加盟教育培训机构
  • 高端网站建设的公司网络推广方案书模板
  • 网站建设岗位世界杯大数据
  • 设计网站公司价格石家庄最新消息今天
  • 建站科技公司宁波seo服务
  • 网站和app的关系最新新闻热点大事件
  • 网站设计行业前景网络营销推广方案案例
  • 网上买东西上海何鹏seo
  • 做网站可以设账户吗seo的形式有哪些
  • 苏州工业园区建设网站企业营销模式
  • 北京java网站开发公司百度导航最新版本免费下载
  • 西安做网站设计公司西地那非片吃了能延时多久
  • 项目网络图怎么画福州seo