剑指Offer打卡day34——AcWing 66. 两个链表的第一个公共结点

AcWing 66. 两个链表的第一个公共结点
在这里插入图片描述

暴力做法,两层for循环

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
class Solution {public ListNode findFirstCommonNode(ListNode headA, ListNode headB) {for(ListNode p = headA; p != null; p = p.next){for(ListNode q = headB; q != null; q = q.next){if(p == q){return p;}}}return null;}
}

双指针

(1)设链表A独有部分长a,链表B独有部分长b,公共部分长c,让两个指针分别从链表A和链表B头开始移动,若移动到末尾仍未相遇则移动到对方的链表头。
(2)若二者相交,则由 a+c+b=b+c+a。可知,两个指针必会在第二轮遍历时在公共结点相遇。
(3)若二者不相交,则二者同样必会在第二轮遍历的末尾同时为NULL,进而判断两链表不相交。
(4)最多只会执行两轮遍历,就能够得出结果。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
class Solution {public ListNode findFirstCommonNode(ListNode headA, ListNode headB) {ListNode p = headA, q = headB;while(p != q){if(p == null){p = headA;}else{p = p.next;}if(q == null){q = headB;}else{q = q.next;}}return p;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

IEEE(电气电子工程师学会)数据库文献去哪里查询下载

IEEE数据库简介: IEEE(电气电子工程师学会)是目前全球科学技术领域领先的专业机构。其期刊在电气电子工程、计算机科学、人工智能、机器人、自动化控制、遥感和核工程领域的期刊影响因子和被引用量都名列前茅。而其学术会议涉及领域广&#…

package-lock.json导致npm install安装nyc出现超时错误

一、背景 前端项目在npm install安装依赖,无法下载组件nyc,详细报错信息: npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/nyc/download/nyc-13.3.0.tgz?cache0&a…

Windows下配置TortoiseGit 访问Ubuntu虚拟机下Samba共享目录

前言: 本文记录学习使用 Git 版本管理工具的学习笔记,通过阅读参考链接中的博文和实际操作,快速的上手使用 Git 工具。 本文参考了引用链接博文里的内容。 引用: 【TortoiseGit】TortoiseGit安装和配置详细说明-CSDN博客 Git版本管理可视…

Spring框架学习笔记(三):AOP编程

1 动态代理 1.1 通过案例理解动态代理 (1)需求说明: 1. 有 Vehicle接口(交通工具接口, 有一个 run 方法), 下面有两个实现类 Car 和 Ship 2. 当运行 Car 对象 的 run 方法和 Ship 对象的 run 方法时,输入如下内容, 注意观察前后…

了解RFID技术如何改善危化品仓储管理效率

随着科学的发展,我国化工行业也迎来飞速进步的黄金时期,而生产加工快速化的同时也导致一些危险化学品的使用量与存储量不断增加。由于危险化学品种类较多,使用和存储的方法都不一样,还具有易燃、易爆、腐蚀、毒害等特性&#xff0…

系统架构师考试(二)

敏捷方法 CMMI代表Capability Maturity Model Integration,是一种用于评估和改进组织软件工程和系统工程的模型。CMMI提供一个框架,帮助组织评估其软件和系统工程的成熟度,该模型基于过程成熟度模型(CMM)和集成项目管理…

数据中台管理系统原型

数据中台是一个通用性的基础平台,适用于各类行业场景,数据中台包含多元数据汇聚、数据标准化、数据开发、数据共享、数据智能、数据资产管理等功能,助力企业数字化转型。 数据汇聚 数据汇聚是将不同系统、不同类型的多元源数据汇聚至目标数据…

Flink 高可用之StandAlone-HA模式(一)

Flink 高可用之StandAlone-HA模式 压缩包: tar -xvzf flink-1.9.1-bin-scala_2.11.tgz -C /opt && cd /opt/flink-1.9.1 集群规划: 1.集群规划 - 服务器: node1(Master Slave): JobManager TaskManager- 服务器: node2(Master Slave): JobManager TaskManager- …

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第23课-烟花插件的售卖效果优化

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第23课-烟花插件的售卖效果优化 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智…

盘点2024年自动猫砂盆品牌,哪个牌子自动猫砂盆比较好?

养猫之路漫漫,无论是新手还是老手,都需要细心照料猫咪的每一个需求。特别是在选择自动猫砂盆这个问题上,更是让人头疼不已。因为每只猫咪的喜好和习惯都不同,如果猫砂盆选得不对,猫咪可能会拒绝使用,导致家…

摸鱼大数据——Linux搭建大数据环境(Hadoop高可用环境搭建)六

Hadoop高可用环境搭建 确定提前安装好了hadoop和zookeeper 1.删除原有数据文件 三台机器都要进行删除 可以使用CRT发送交互到所有会话 rm -rf /export/data/hadoop-3.3.0 2.安装软件 三台机器都要进行安装 注意: 如果网络较慢安装失败,那就重复安装即可 # 实现多个服务的通讯 …

springboot引入第三方jar包本地lib并打包

1&#xff1a;在项目根目录创建lib目录并放入第三方lib包 -- project ----lib &#xff08;放在这儿&#xff09; ----src ----target2&#xff1a;pom中引入第三方lib <!-- 引入magus模块 --><dependency><groupId>org.jeecg.msgus</groupId><art…

人才测评:计划管理能力与岗位胜任力素质测评

计划管理能力指的是什么&#xff1f; 计划管理能力&#xff0c;可以体现为从业者在精准制定好任务&#xff0c;或是根据任务的时间长&#xff0c;困难的程度来设定好完成的目标&#xff0c;一步一个脚印将工作完成好&#xff0c;并且能预估出可能出现的突发事件&#xff0c;将…

Web3 ETF软件开发技术

Web3 ETF&#xff08;交易所交易基金&#xff09;是一种基于区块链技术的ETF&#xff0c;它旨在跟踪Web3资产&#xff08;例如加密货币、NFT等&#xff09;的价值表现。Web3 ETF的开发涉及到传统ETF开发的所有技术难点&#xff0c;此外还有一些独特的挑战。北京木奇移动技术有限…

PM入门必备| 怎么写产品分析报告?

​小陪老师&#xff0c;产品经理是做些什么的呢&#xff1f;我去面试应该准备些什么呢&#xff1f; A: 首先要分清产品经理的类型&#xff0c;产品的面试需要准备的一般有Axure原型&#xff0c;需求文档&#xff0c;产品分析报告等&#xff0c;有些甚至需要展示项目经验。 tea…

vue2人力资源项目9权限管理

页面搭建 <template><div class"container"><div class"app-container"><el-button size"mini" type"primary">添加权限</el-button><el-table-column label"名称" /><el-table-co…

堆的概念及结构

目录 堆的性质&#xff1a; 堆的实现 堆向下调整算法 堆的创建 堆的插入 堆的删除 堆的应用 堆排序 对比冒泡的优势&#xff1a; 代码 头文件 源文件 如果有一个关键码的集合K { &#xff0c; &#xff0c; &#xff0c;…&#xff0c; }&#xff0c;把它的所有元…

Python代码:五、格式化输出(1)

1、题目 牛牛、牛妹和牛可乐正在Nowcoder学习Python语言&#xff0c;现在给定他们三个当中的某一个名字name&#xff0c; 假设输入的name为Niuniu&#xff0c;则输出 I am Niuniu and I am studying Python in Nowcoder! 请按以上句式输出相应的英文句子。 一行一个字符串表…

【Spring】AOP中的核心概念:通知(Advice)和切点(Pointcut)

目录 1、通知(Advice) 1.1、前置通知 1.2、后置通知 1.3、返回通知 1.4、异常通知 1.5、通知的执行顺序 2、切点(Pointcut) 2.1、切点表达式的抽取 2.2、切点标识符 2.2.1、execution 2.2.2、within 2.2.3、annotation 1、通知(Advice) 通知(Advice)&#xff1a;在…

mybaties查询!!!你就说灵不灵活吧

你就说灵不灵活吧 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace"com.ruoyi.sys…