【链表-简单】160. 相交链表

力扣--160.相交链表(简单题) 力扣--160.相交链表(简单题)【题目描述】【示例】【思路+代码】 有被昨天的中等题打击到,所以老老实实继续做简单题吧。 【题目描述】 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 原题传送门 【示例】 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value 阅读详情

【题目】
编写一个程序,找到两个单链表相交的起始节点。
如下面的两个链表:
在节点 c1 开始相交。
【示例 1】
输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
输出:Reference of the node with value = 8
输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。在 A 中,相交节点前有 2 个节点;在 B 中,相交节点前有 3 个节点。
【示例 2】
输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1
输出:Reference of the node with value = 2
输入解释:相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [0,9,1,2,4],链表 B 为 [3,2,4]。在 A 中,相交节点前有 3 个节点;在 B 中,相交节点前有 1 个节点。
【示例 3】
输入:intersectVal = 0, listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2
输出:null
输入解释:从各自的表头开始算起,链表 A 为 [2,6,4],链表 B 为 [1,5]。由于这两个链表不相交,所以 intersectVal 必须为 0,而 skipA 和 skipB 可以是任意值。
解释:这两个链表不相交,因此返回 null。
【注意】
如果两个链表没有交点,返回 null.
在返回结果后,两个链表仍须保持原有的结构。
可假定整个链表结构中没有循环。
程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。
【代码】
【Python】
在这里插入图片描述

class Solution:
    def getIntersectionNode(self, headA: ListNode, headB: ListNode) -> ListNode:
        ha,hb=headA,headB
        while ha!=hb:
            ha=headB if ha is None else ha.next
            hb=headA if hb is None else hb.next
        return hb
【简单】力扣算法题解析LeetCode160:相交链表 本文介绍了一种高效寻找两个无环单链表相交节点的方法,采用双指针遍历算法。核心思想是通过让两个指针分别遍历两个链表并在到达末尾时切换到对方链表头部,最终在相交节点相遇或同时到达链表末尾(表示不相交)。该方法时间复杂度为O(m+n),空间复杂度为O(1)。文章提供了Java实现代码,并通过示例图解说明了算法的正确性和边界条件处理。 阅读详情

相关推荐

MTGS与3D高斯泼溅:如何用多轨迹数据重建自动驾驶场景(附代码解析)

本文深入解析了MTGS(多轨迹高斯泼溅)技术在自动驾驶场景重建中的工程实践。该方法通过分层场景表示,巧妙融合多轨迹数据,利用3D高斯泼溅技术统一处理静态几何与动态物体,有效解决了复杂环境下的重建难题。文章结合代码,详细阐述了其实现框架、损失函数设计及优化策略,为构建高保真数字孪生场景提供了实用指南。

v5w6x的博客 447

【简单】160.相交链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构。自定义评测:评测系统将根据这些输入创建链式数据结构,并将两个头节点 headA 和 headB 传递给你的程序。如果程序能够正确返回相交节点,那么你的解决方案将被 视作正确答案。

qq_51467258的博客 784

AES攻击方法 :差分密码分析 boomerang attack飞去来器攻击

AES具有123比特的分组长度,三种可选的密钥长度(128,192,256) AES是一个迭代型密码,轮数依赖于密钥长度。如果密钥长度为128比特,则轮数为10;如果密钥长度为192比特,则轮数为12;如果密钥长度为256比特,则轮数为14; 混淆(Confusion) 混淆是为了让密钥与密文的统计信息之间的关系变得复杂,从而增加通过统计方法进行攻击的难度。混淆可以通过各种代换算法实现,如S盒、乘法(加)与异或等运算组合,为非线性部件。 扩散(Diffusion) 扩散是为了让明文的单个比特影像到

m0_67105022的博客 3492

leetcode 160 简单难度 相交链表

160. 相交链表 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为

chenyson的博客 138

告别手动复制粘贴!用R语言脚本批量抓取TCMSP中药靶点基因(附完整代码)

本文介绍如何使用R语言脚本自动化抓取TCMSP数据库中的中药靶点基因数据,告别手动复制粘贴的低效操作。通过详细的代码示例和参数设置,帮助研究人员快速获取并过滤符合药代动力学标准的中药成分及其靶点基因,大幅提升研究效率。特别适合生物信息学和中药现代化研究领域的从业者。

weixin_26950847的博客 270

遗传算法优化光学超表面:智能设计突破纳米结构瓶颈

光学超表面设计本质上是一个高维、非线性、离散每个结构单元(如纳米砖柱、孔洞、十字架)有多个参数(长、宽、高、旋转角、材料),整个阵列的参数组合数量随单元数指数级增长。性能指标(如聚焦效率、工作带宽、偏振转换率、特定角度响应)往往无法用简单解析式表达,需依赖计算密集型电磁仿真(如FDTD, FDFD, RCWA)来评估。结构参数微小变化可能引起光学响应的剧烈跃变,目标函数存在多个局部最优解。实际制造通常要求结构参数取自有限的离散值(如特定刻蚀深度、材料库)。

weixin_51101456的博客 1143

160. 相交链表【简单】

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

伍六琪的博客 305

从时序迷宫到稳定通信:FSMC配置中的时间参数深度解析与实战避坑指南

本文深入解析STM32 FSMC配置中的时间参数,特别是AddressSetupTime和DataSetupTime的实战配置技巧。通过STM32F407连接SRAM的实际案例,提供从理论计算到CubeMX配置的全流程指南,帮助开发者避免常见时序陷阱,确保稳定通信。

nginx7reverse的博客 84

【简单】160. 相交链表

【题目】 编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:

... 175

用 XCO 库一键找出某个 ABAP 类的全部子类

ABAP XCO库子类枚举技术解析 本文介绍了在ABAP项目中如何利用XCO库高效获取类的继承层次结构。传统方法使用CL_ABAP_CLASSDESCR或手动维护映射表存在效率低、易遗漏的问题。新方法通过XCO库的IF_XCO_AO_CLASS接口,可简洁地获取父类的所有子类(包括间接子类)。 核心API链式调用: 获取类句柄:xco_cp_abap=>class() 导航子类集合:subclasses->all 获取结果:get()返回类引用表或get_names()返回类名列表 典型应用场景

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 129

第 1 章 Prometheus 监控 | Prometheus 入门

了解 Prometheus 监控系统,学会安装及了解页面功能。

甘蓝的专栏 486

【链表】Leetcode 160. 相交链表【简单】

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。这里有个稍微难以理解的地方,为什么A、B遍历完后相互指向对方头结点,目的是消除链表的长度差,从相同长度开始遍历比较。题目数据 保证 整个链式结构中不存在环。

FLGB 589

一分钟详解PCL中点云配准技术

原文首发于微信公众号「3D视觉工坊」: 一分钟详解PCL中点云配准技术 本文是对前两篇文章:点云配准(一 两两配准)以及3D点云(二 多福点云配准)的补充,希望可以在一定程度上帮助大家对点云配准理解地更为深刻。 一 PCL中点云配准技术的简单实现 在同一文件夹下,有测试数据文件monkey.ply,该文件是利用Blender创建的默认Monkey模型。 利用如下代码,将初始点云(图中绿色点云)...

3D视觉工坊 3706

Leetcode算法题【简单】160.相交链表

具体步骤请查看每个关键步骤的代码注释。

qq_40800519的博客 248

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

leetcode 160. 相交链表 简单 链表

题目: 分析:如果两个链表有相交的部分,那么需要让两个链表都走到相交的位置,但问题就出现了,相交前的长度可能是不一样的,怎么可以同时走到相交的位置呢。接着分析发现如果有相交的部分,那么相交后的部分,长度一定是一样的,也就是只有前面未相交的部分长度可能是不一样的,那么想到凑成总长度相同的话问题就得到解决了,怎么凑呢? 可以把前面未相交的部分互相拼接起来,怎么拼? 可以每个链表走到末尾的时候从头去走...

weixin_40208575的博客 114

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[LeetCode 简单 链表]160. 相交链表

题目描述 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为

weixin_50088096的博客 68

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

leetcode力扣160题相交链表简单暴力解法代码

【代码】leetcode力扣160题相交链表简单暴力解法代码。

xiaohao0001abc的博客 198

160. 相交链表(简单)

Leetcode链接:160. 相交链表 题目描述: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB =

二进制杯莫停的博客 164

Leetcode—160.相交链表【简单】

如果两个链表相交,那么相交点之后的长度是相同的我们需要做的事情是,让两个链表从同距离末尾同等距离的位置开始遍历。这个位置只能是较短链表的头结点位置。为此,我们必须消除两个链表的长度差指针 pA 指向 A 链表,指针 pB 指向 B 链表,依次往后遍历如果 pA 到了末尾,则 pA = headB 继续遍历如果 pB 到了末尾,则 pB = headA 继续遍历比较长的链表指针指向较短链表head时,长度差就消除了如此,只需要将最短链表遍历两次即可找到位置。

Atticus的博客 232

160. 相交链表 - [简单]

每日一练,突破自我,梦想无惧算法!

泰山与水 202

LeetCode [简单] 160. 相交链表

创建两个指针 pointer1​ 和 pointer2,两个指针分别依次遍历headA、headB,区别在于,pointer1从 headA 开始遍历,而 pointer2 从 headB 开始遍历。时间复杂度:O(m+n),其中 m 和 n 分别是链表 headA 和 headB 的结点数。最坏情况下,每个指针遍历两个链表各一次。,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。在此过程中,如果有相同的结构,必定会同时遍历到。,函数返回结果后,链表必须。空间复杂度:O(1)O。

Theolulu的博客 248

leetcode160题(简单):相交链表

该题为leetcode的160题,难度级别简单,题目为相交链表 题目要求: 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Referenc...

fenmeibei0223的博客 238

链表简单 Leetcode160. 相交链表

public class LC31 { public void nextPermutation(int[] nums) { int n = nums.length; if(n < 2){ return ; } int i = n - 2; while(i >= 0 && nums[i] < nums[i+1]){ i--;

31楼下小黑的博客 152

leetcode刷题【简单】160相交链表

编写一个程序,找到两个单链表相交的起始节点。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { pu...

sw520lkm的博客 168

LeetCode 160 相交链表(简单)

编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0

嗷嗷嗷嗷的博客 107
上一篇: 【链表-简单】剑指 Offer 18. 删除链表的节点
下一篇: 【链表-简单】160. 相交链表(两种方法,无语一样的题出了好几遍)
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值