力扣:链表相交、环形链表、环形链表||

力扣 面试题 02.07.链表相交

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。

图示两个链表在节点 c1 开始相交

题目数据 保证 整个链式结构中不存在环。

注意,函数返回结果后,链表必须 保持其原始结构 。

题解:

如果A、B至少一个为空,则肯定不能相交。

若A、B都不为空,新建一个节点p,使p=headA,再新建一个节点q,使q=headB,同时更新p和q,若p不为null,则p=p.next,否则p=headB,,若q不为null,则q=q.next,否则q=headA,若p==q,则返回p或者q。

完整Java代码如下:


public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {if(headA == null || headB == null){return null;}ListNode p = headA;ListNode q = headB;while(p != q ){p = p == null? headB : p.next;q = q == null? headA : q.next;}return p;}
}

力扣 141.环形链表

给你一个链表的头节点 head ,判断链表中是否有环。

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

如果链表中存在环 ,则返回 true 。 否则,返回 false 。

示例 1:

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

题解:

定义两个指针,快指针fast和慢指针slow,使fast=head,slow=head,快指针每次移动两个节点,慢指针每次移动一个节点,如果快慢指针中途相遇,那么这个链表有环。

完整的Java代码如下:


public class Solution {public boolean hasCycle(ListNode head) {ListNode low = head;ListNode fast = head;while(fast != null && fast.next != null){low = low.next;fast = fast.next.next;if(low == fast){return true;}}return false;}
}

力扣 142.环形链表||

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

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

不允许修改 链表。

示例 1:

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

题解:

第一步判断是否存在环,这个思路个141的思路完全一样。

第二步,如果存在环,找出入环的第一个节点,如何找出第一个节点呢?

思路:从头结点出发一个指针,从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是环形入口的节点。

完整Java代码如下:


public class Solution {public ListNode detectCycle(ListNode head) {ListNode low = head;ListNode fast = head;ListNode start = head;int flag = 0;while(fast != null && fast.next != null){fast = fast.next.next;low = low.next;if(low == fast){start = low;flag = 1;break;}}if (flag == 1){ListNode index = head;if(start == index){return start;}while(start != index){start = start.next;index = index.next;if(index == start){return start;}}}return null;}
}

附:以上题解参考于官方题解以及代码随想录,若有侵权,将在第一时间删除,若有错误,将在第一时间修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/522830.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索精酿啤酒与西式甜点的浪漫搭配

在繁忙的都市生活中,总有那么一些时刻,我们需要放慢脚步,享受那份与众不同的浪漫与宁静。而Fendi Club啤酒与西式甜点的搭配,正是为这些时刻量身定制的。它们以其与众不同的口感和风味,为人们带来了一场味蕾的盛宴&…

Redis进阶(三):主从复制

为了解决单点问题,实现多服务器部署redis,有几种解决方案可以实现:主从复制,主从哨兵还有集群。 何为主从复制 简单来说有三个服务器分别部署了redis-server程序,选中一个服务器当作主节点,其他的就是从节…

2024 批量下载公众号文章内容/阅读数/在看数/点赞数/留言数/粉丝数导出pdf文章备份(带留言):公众号记忆承载近1500篇历史文章在线查看,找文章方便了

关于公众号文章批量下载,我之前写过很多文章: 视频更新版:批量下载公众号文章内容/话题/图片/封面/音频/视频,导出html,pdf,excel包含阅读数/点赞数/留言数 2021陶博士2006/caoz的梦呓/刘备我祖/六神读金…

方阵的特征值与特征向量

目录 特征值 & 特征向量 相关性质 特征值 & 特征向量 相关性质

项目解决方案:多地5G蓄能电站的视频监控联网系统设计方案

目 录 一、前言 二、系统架构设计 1、系统架构设计说明 2、系统拓扑图 三、关键技术 1. 5G支持技术 2. 视频图像处理技术 3. 数据融合与分析技术 四、功能特点 1. 高效可靠 2. 实时监测 3. 远程控制 4. 故障预测 五、应用前景 一、前言 随着能源…

【新版Hi3521DV200处理器性能】

新版Hi3521DV200处理器性能 Hi3521DV200是针对多路高清/超高清(1080p/4M/5M/4K)DVR产品应用开发的新一代专业SoC芯片。Hi3521DV200集成了ARM Cortex-A7四核处理器和性能强大的神经网络推理引擎,支持多种智能算法应用。同时,Hi352…

O2O:Sample Efficient Offline-to-Online Reinforcement Learning

IEEE TKDE 2024 paper Introduction O2O存在策略探索受限以及分布偏移问题,进而导致在线微调阶段样本效率低。文章提出OEMA算法首先使用离线数据训练乐观的探索策略,然后提出基于元学习的优化方法,减少分布偏移并提高O2O的适应过程。 Meth…

【Unity】ABB CRB 15000 外部引导运动

一、RobotStudio控制器的文件系统和配置参数 HOME:控制器文件系统的根目录或起始点。配置:机器人控制器的配置设置和参数。外件信息:连接到机器人的外部组件的信息。I/O 系统:输入/输出系统,管理机器人和外部设备之间的…

SIP广播对讲主机ip网络对讲广播调度主机

SIP广播对讲主机ip网络对讲广播调度主机 深圳锐科达电子有限公司的这款sip话筒SV-8003SP作为SIP广播对讲系统的主机,可用于需要对讲求助、紧急报警以及环境J听的场所,例如自助银行对讲主机、监仓对讲主机、教室广播主机、医院广播对讲话筒、SIP矿井寻呼话…

LVS集群(Linux Virtual server)介绍----及LVS的NAT模式部署(一)

群集的含义 ●Cluster,集群、群集由多台主机构成,但对外只表现为一个整体,只提供访问入口(域名或IP地址),相当于一台大型计算机 问题: 互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠…

BUUCTF-DASBOOK1

[第一章][1.3.5 案例解析][极客大挑战 2019]Http 1 1.启动靶机 2.查看源代码,发现有链接 3.点击链接,跳转页面有提示,意思是:它并不来自于https:/Sycsecret.buuoj.cn 打开hackbar,如图所示,然后执行 4.得到…

耐腐蚀特氟龙塑料材质PFA烧杯超纯试剂反应杯

PFA烧杯在实验过程中可作为储酸容器或涉及强酸强碱类实验的反应容器,用于盛放样品、试剂,也可搭配电热板加热、蒸煮、赶酸用。 外壁均有凸起刻度,直筒设计,带翻边,便于夹持和移动,边沿有嘴,便于…