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

赣州 做网站做后期从哪个网站选音乐

赣州 做网站,做后期从哪个网站选音乐,收录优美图片崩了,株洲有几个区题目 如果一个链表中包含环,那么应该如何找出环的入口节点?从链表的头节点开始顺着next指针方向进入环的第1个节点为环的入口节点。 例如,在如图4.3所示的链表中,环的入口节点是节点3。 分析 第1步:确认是否包含环…

题目

如果一个链表中包含环,那么应该如何找出环的入口节点?从链表的头节点开始顺着next指针方向进入环的第1个节点为环的入口节点。

例如,在如图4.3所示的链表中,环的入口节点是节点3。
在这里插入图片描述

分析

第1步:确认是否包含环

定义两个指针并同时从链表的头节点出发,一个指针一次走一步,另一个指针一次走两步。如果链表中不包含环,走得快的指针直到抵达链表的尾节点都不会和走得慢的指针相遇。如果链表中包含环,走得快的指针在环里绕了一圈之后将会追上走得慢的指针。因此,可以根据一快一慢两个指针是否能够相遇来判断链表中是否包含环。

第2步:如何找到环的入口节点

定义两个指针来解决。先定义两个指针P1和P2,指向链表的头节点。如果链表中的环有n个节点,第1个指针P1先在链表中向前移动n步,然后两个指针以相同的速度向前移动。当第2个指针P2指向环的入口节点时,指针P1已经围绕环走了一圈又回到了入口节点。
在这里插入图片描述

第3步:如何得到环中节点的数目

前面在判断链表中是否有环时用到了一快一慢两个指针。如果两个指针相遇,则表明链表中存在环。两个指针之所以会相遇是因为快的指针绕环一圈追上慢的指针,因此它们相遇的节点一定是在环中。可以从这个相遇的节点出发一边继续向前移动一边计数,当再次回到这个节点时就可以得到环中节点的数目。

public class Test {public static void main(String[] args) {ListNode listNode1 = new ListNode(1);ListNode listNode2 = new ListNode(2);ListNode listNode3 = new ListNode(3);ListNode listNode4 = new ListNode(4);ListNode listNode5 = new ListNode(5);ListNode listNode6 = new ListNode(6);listNode1.next = listNode2;listNode2.next = listNode3;listNode3.next = listNode4;listNode4.next = listNode5;listNode5.next = listNode6;listNode6.next = listNode3;ListNode result = detectCycle(listNode1);System.out.println(result.val);}public static ListNode detectCycle(ListNode head) {ListNode inLoop = getNodeInLoop(head);if (inLoop == null) {return null;}int loopCount = 1;for (ListNode n = inLoop; n.next != inLoop; n = n.next) {loopCount++;}ListNode fast = head;for (int i = 0; i < loopCount; i++) {fast = fast.next;}ListNode slow = head;while (slow != fast) {fast = fast.next;slow = slow.next;}return slow;}// 快慢指针找到相遇的节点private static ListNode getNodeInLoop(ListNode head) {if (head == null || head.next == null) {return null;}ListNode slow = head.next;ListNode fast = slow.next;while (slow != null && fast != null) {if (slow == fast)return slow;slow = slow.next;fast = fast.next;if (fast != null)fast = fast.next;}return null;}
}
http://www.yayakq.cn/news/209089/

相关文章:

  • 网站开发语言学习C 吗云南app开发系统
  • 网站安全建设总结搜索百度app下载
  • 做网站模版与定制的区别高端网站设计上海网站建设上海
  • 河南省招生网站服务平台微信小程序商城定制开发
  • 淇县网站设计公司免费模板简历表格
  • 吴兴网站建设有哪些网站手游做的好的
  • 盗用网站模板seo学徒招聘
  • 江苏省建设工程安全监督网站图片二维码生成器在线制作
  • 网站备案如何取消接入公司网站的seo优化
  • 广东建立网站休闲零食网站建设+中企动力
  • 彩票网站建设dadi163盐城企业做网站多少钱
  • 杭州网页模板建站wordpress不锈钢企业
  • 项目信息网站哪个好wordpress博客模板缺少插件
  • 网站建设 域名主机新媒体运营的相关优势
  • 德州网站建设赖殿波免费试用网站源码
  • 手机网站源码大全花生壳做网站速度
  • 建站公司用的服务器购物网站开发报告
  • 个体户做网站是怎么备案wordpress 原创模板
  • 网站开发主框架一般用什么布局网站怎么加背景音乐
  • 解析网站制作资兴市住房和城乡建设局网站
  • wordpress缓存网站首页wordpress标签链接地址
  • 陕西建设官方网站新东方雅思培训机构官网
  • 网站建设风格织梦网站联系我们的地图怎么做
  • 门户网站建设工作会议商务网站建设实训总结
  • 用凡科帮别人做网站河北教育网站建设
  • 如何查看网站备案信息吗重庆哪个网站建设比较好
  • 赤壁网站开发上海抓捕236名
  • 有没有做a的电影网站杭州点餐app开发
  • 做视频网站盈利多少sem运营有出路吗
  • nas可以做网站吗做网站想要中立