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

网站建设公司宣传范文新闻稿范文300字

网站建设公司宣传范文,新闻稿范文300字,上海网址建设公司,重庆市建设考试报名网站题目链接:https://leetcode.cn/problems/c32eOV/ 1. 题目介绍(23. 链表中环的入口节点) 给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环&#x…

题目链接:https://leetcode.cn/problems/c32eOV/

1. 题目介绍(23. 链表中环的入口节点)

给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。

为了表示给定链表中的环,我们使用整数 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 或者链表中的一个有效索引

【跟踪】:

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

【相关题目】:

注意: 本题与主站 142. 环形链表 II 题目相同。

2. 题解

2.1 原书题解(快慢指针)-- O(n)

时间复杂度O(n),空间复杂度O(1)
整个流程分三步:

  1. 判断该链表是否有环;
  2. 如果有环,确定环的长度;
  3. 根据环长设置快慢指针的起始位置,移动快慢指针找到入口节点。
/*** 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) {ListNode meetingNode = meetingNode(head);// 该链表无环,返回nullif (meetingNode == null) return null;// 链表有环,从相遇点开始计数,直到再次到达相遇点ListNode fast = meetingNode;int cycleLength = 1;while (fast.next != meetingNode){fast = fast.next;cycleLength++;}System.out.println(cycleLength);// 快指针返回head,并前进环长步数fast = head;for (int i = 0; i < cycleLength; i++){fast = fast.next;}// 快慢指针开始移动,每次移动一步,相遇节点即为入口节点ListNode slow = head;while (fast != slow){fast = fast.next;slow = slow.next;}return fast;}public ListNode meetingNode(ListNode head){// 判断头节点是否为空if (head == null) return null;// 定义快慢指针ListNode slow = head.next;if (slow == null) return null;ListNode fast = slow.next;while (fast != null && slow != null){if (fast == slow) return fast;// 慢指针每次走一步,快指针每次走两步slow = slow.next;fast = fast.next;if (fast != null) fast = fast.next;}return null;}
}

在这里插入图片描述

2.2 快慢指针简化版 – O(n)

时间复杂度O(n),空间复杂度O(1)
在这里插入图片描述
思路基本和2.1一致,不同的是这里简化了求环长,直接让fast回到了头节点
在这里插入图片描述

public class Solution {public ListNode detectCycle(ListNode head) {ListNode fast = head, slow = head;while (true) {if (fast == null || fast.next == null) return null;fast = fast.next.next;slow = slow.next;if (fast == slow) break;}fast = head;while (slow != fast) {slow = slow.next;fast = fast.next;}return fast;}
}

在这里插入图片描述

3. 参考资料

[1] 剑指 Offer II 022. 链表中环的入口节点(双指针,清晰图解)-- 2.2 题解参考

http://www.yidumall.com/news/95456.html

相关文章:

  • 笔记本做网站要什么好百度快照怎么用
  • selz网页设计公司优化设计答案六年级上册语文
  • 东城区网站建设公司百度一下官方网站
  • 江苏网站建设 seo网络营销有哪些功能
  • 做外贸什么网站比较好搜索引擎推广文案
  • 孝感新闻门户网站济南专业做网站
  • 做网站公司 蓝纤科技电商网站策划
  • 如何对网站做渗透百度推广客户端电脑版
  • 武汉p2p网站建设价格百度网站优化排名
  • 网站建设启凡seo推广优化外包价格
  • 北京网站建设报价明细爱站网关键词查询网站的工具
  • 做区位分析的地图网站关键词搜索优化
  • 网站开发投稿可行吗网络推广好做吗?
  • 媒体网站怎么做网络营销常见术语
  • 阿里云虚拟机怎么做多个网站sem竞价托管公司
  • 政务信息公开与网站建设报告黑帽seo是什么
  • 淮北网站建设网上销售方法
  • 建站程序免费下载简述如何优化网站的方法
  • 重庆政府招标网官网seo怎么做最佳
  • 苏州党员两学一做网站全媒体广告投放平台
  • WordPress输出当前网址seo关键字优化软件
  • wordpress菜单加登陆成都正规搜索引擎优化
  • 网站建设的 几点域名被墙查询检测
  • 如何制作自己的网站网站设计规划
  • wordpress调用js函数优化提升
  • 自己做网站是不是需要写代码最近军事新闻热点大事件
  • 网站 拉新企业网站设计优化公司
  • 专门做店铺转让的网站用html制作个人网页
  • 个人网站建设方案书实例如何给公司网站做推广
  • 企业三合一建站公司怎么找百度贴吧免费发布信息