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

郑州十大网站建设公司wordpresscom下载

郑州十大网站建设公司,wordpresscom下载,cms网站系统,网站安全维护方案给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整…

给定一个链表的头节点  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, 10^4] 内
  • -10^5 <= Node.val <= 10^5
  • pos 的值为 -1 或者链表中的一个有效索引

进阶:你是否可以使用 O(1) 空间解决此题?

解法思路:

1、hash,遍历每个节点并记录,再次遍历到则存在环并返回

2、快慢指针,先判断是否有环,若有,则找出环的第一个节点(从相遇点到入环点的距离加上 n−1 圈的环长,恰好等于从链表头部到入环点的距离,使用第三个指针(初始化指向head),third 与 slow 刚好在入环处相遇)

法一:

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode detectCycle(ListNode head) {// hash// Time: O(n)// Space: O(n)ListNode pos = head;Set<ListNode> set = new HashSet<>();while (pos != null) {if (set.contains(pos)) {return pos;} else {set.add(pos);}pos = pos.next;}return null;}
}

 法二:

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode detectCycle(ListNode head) {// 快慢指针,先判断是否有环,若有,则找出环的第一个节点// 1. 判断是否有环if (head == null || head.next == null || head.next.next == null) return null;ListNode slow = head;ListNode fast = head;boolean hasCircle = false;while (fast.next != null && fast.next.next != null) {slow = slow.next;fast = fast.next.next;if (slow == fast) {hasCircle = true;break;}}// 2. 找出入环节点// 从相遇点到入环点的距离加上 n−1 圈的环长,恰好等于从链表头部到入环点的距离// 使用第三个指针(初始化指向head),third 与 slow 刚好在入环处相遇 if (hasCircle) {ListNode third = head;while (slow != third) {slow = slow.next;third = third.next;}return third;}return null;}
}

数学证明:从相遇点到入环点的距离加上 n−1 圈的环长,恰好等于从链表头部到入环点的距离 

http://www.yayakq.cn/news/969411/

相关文章:

  • 网站设计怎么好看canvas做的手机网站
  • 电子商务网站建设思维导图网站建设公司保定市
  • 邯郸企业网站建设公司app开发与制作公司
  • 湖南网站建设价位网站 验证码错误
  • 海淀手机网站设计公司怎么做提卡网站
  • 主做收影视出版的小说网站seo最好的cms系统
  • 办个网站卖什么好处唐山门户网站建设
  • 快速建站费用手机如何强制下载网页视频
  • wordpress mv网站模板wordpress去除版本号
  • 杭州新网站建设方案wordpress同步到qq空间
  • 企业网站怎么建怎样查找网站域名归属
  • 怎样做网站表白墙网站建设与实现的要求与务
  • 重庆建设网站建站深圳集团网站建设服务
  • 设计网站会员枫林seo工具
  • 网站建设方面的销售经验app开发和维护费用
  • 海南澄迈住房和城乡建设厅网站icp备案管理系统
  • 让网站百度不到网站 短链接怎么做
  • 莆田市网站建设国内外贸平台
  • 手机wap网站模板免费下载鞍山网站制作
  • 成都h5网站建设网站设计方案案例
  • 湖滨网站建设图片在线制作软件
  • 做好网站建设静态化乐清城市网
  • 网站提速河北网站开发多少钱
  • 重庆市园林建设有限公司网站可以建网站的路由器
  • 徐州专门做网站电商网站获取流量的方法
  • 怎么做企业网站二维码扫描上海网络优化方法
  • 怎么使用模板建设网站怎么优化网站的单个关键词排名
  • 长治网站制作的网站dedecms 调用wordpress
  • 做网站 信科网站建设便宜徐水住房建设局网站
  • 开网络网站建设公司的优势wordpress 段子模板