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

企业网站开发环境国际新闻今日头条

企业网站开发环境,国际新闻今日头条,阿里巴巴外发加工网手工,武汉网站设计价格题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使…

题目

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。
不允许修改 链表。
示例 1:
在这里插入图片描述
示例 2:
在这里插入图片描述

示例 3:
在这里插入图片描述
提示
链表中节点的数目范围在范围 [0, 104] 内
-105 <= Node.val <= 105
pos 的值为 -1 或者链表中的一个有效索引

解析

定义头节点到环的入口为x,入口到相遇点为y,相遇点到入口为z

怎么确定链表是否有环?

定义快指针每次移动两个位置,慢指针每次移动一个位置,那么根据相当运动,来说,慢指针不动,快指针每次动一个单位,所以如果有环则快指针一定可以追上慢指针,也可也列出下面图片中的式子
在这里插入图片描述

怎么找到环的入口?

上述推导可以发现,在相遇之后,如果从相遇点出发,宁外一个指针从链表的头节点出发,那么他们相遇的位置就是环的入口

代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode *detectCycle(ListNode *head) {ListNode *fast=head;ListNode *slow=head;// 1.双指针寻找相遇点while(fast!=NULL&&fast->next!=NULL){slow=slow->next;fast=fast->next->next;// 2.快慢指针相遇,寻找环的入口if(fast==slow){ListNode *index1=fast;ListNode *index2=head;while(index1!=index2){index1=index1->next;index2=index2->next;}return index2;}}return NULL;}
};

通过

在这里插入图片描述

http://www.sczhlp.com/news/42810/

相关文章:

  • mac 做网站百度指数查询移动版
  • 云平台开放全球最大基因组序列库访问
  • GaussDB查询表空间大小语句及原理
  • 强化安全基础以缓解第三方风险
  • Gitee DevOps:中国开发者本土化效率革命的催化剂
  • 做外贸有什么免费网站seo技巧分享
  • 百度采购网网络营销优化推广公司
  • 西安免费网站建设谷歌play商店官网
  • 梧州论坛最新消息seo排名软件有用吗
  • 武清区网站开发赣州网站建设
  • FGUI应用——制作聊天气泡
  • jq---采集数据
  • CCF 2024年 CSP-J代码填空题-汉诺塔问题
  • 如何做一份网站的数据分析seo难不难
  • 柳州 网站推广企业网站推广的一般策略
  • 单位网站开发费用进什么科目青岛神马排名优化
  • 网站轮播效果怎么做重庆seo排名收费
  • 汕头市交通建设网站google搜索免费入口
  • 西部数码网站站点扶贫832网络销售平台
  • 建设一个网站的规划内江seo
  • 网站seo优化合同苏州关键词优化软件
  • 10大免费软件下载网站推荐长沙网站推广有哪些啊
  • 可以自己做网站经营吗2023免费b站推广大全
  • 深圳做网站比较小红书关键词排名怎么做
  • 做特产网站今日搜索排行榜
  • Golang new和make区别
  • 程序的四大基础架构
  • 在AI提示词领域有没有万能的提示词问法或者公式
  • 官网下载mysql连接驱动jar包教程
  • 【Flask 3.1.2】4 访问 API 并通过队列处理任务