【链表-简单】160. 相交链表(两种方法,无语一样的题出了好几遍)

LeetCode160. 相交链表(Java) 阅读详情

【题目】
编写一个程序,找到两个单链表相交的起始节点。
如下面的两个链表:
在节点 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:
        dict_a=dict()
        while headA:
            dict_a[headA]=dict_a.setdefault(headA,0)+1
            headA=headA.next
        while headB:
            if dict_a.setdefault(headB,0):
                return headB
            headB=headB.next
        return None
力扣--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 阅读详情

相关推荐

新手必看:LiteRadio 2c SE遥控器从开箱到飞行的完整指南(附常见问题解答)

本文为新手提供LiteRadio 2c SE遥控器的完整使用指南,涵盖从开箱到首飞的20个关键步骤。详细介绍了遥控器的功能设置、与无人机的对频技巧以及首飞注意事项,帮助用户快速掌握飞行控制,避免常见错误。特别适合无人机初学者阅读。

weixin_29209801的博客 381

LeetCode160 | Intersection-of-two-linked-lists

题目地址(160. 相交链表) https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 题目描述 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the nod

ParallelLight 261

DIY音频必备:手把手教你用AB类功放模块打造高保真桌面音响(含电路图)

本文详细指导如何利用AB类功放模块DIY高保真桌面音响,涵盖选型指南、核心元器件清单、电路搭建与焊接工艺,以及系统调试与音质优化技巧。AB类功放以其接近A类功放的音质和B类功放的效率,成为音频爱好者的理想选择,适合有一定电子基础的实践者。

weixin_42665725的博客 445

链表相交1

题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 思路 就是求两个链表交点节点的指针。交点不是数值相等,而是指针相等。 对链表来说,从某个节点开始一旦相交,那么后面的都是是相等的,这里的相交其实是可以理解为 重合 ,即地址相等 + 值相等。 正是因为如此,如果两个链表相交的话,尾部一定是相等的!即从中间某处开始 到尾部 是完全相等(重合) 1、设长链表A长度为LA,短链表长度LB; 2、由于速度相同,则在长链表

qq_48094059的博客 201

单粒子翻转对FPGA的影响及解决方法

单粒子翻转对FPGA的影响及解决方法

航天领域资深码农,型号经验丰富,一线干货分享 2446

from pointnet2_ops import pointnet2_utils 安装过程

pointnet2_ops

goodgoodstudy___的博客 8363

leetcode.160. 相交链表---双指针

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

xiangguang_fight的博客 266

SAP-PM设备模块-PM主数据之功能位置

SAP-PM模块学习

TRUIXIANG的博客 5139

leetcode[160] --相交链表

输入: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 个节点。

Daria_的博客 324

CELF(Cost-Effective Lazy Forward selection)具有成本效益的惰性前向选择算法

CELF(Cost-Effective Lazy Forward selection)算法解析      引言:在社交网络影响力最大化问题的求解过程中,我们往往需要去选择一些目标种子结点作为信息初始传播的源头。贪婪算法在传播效果上的解决可以达到影响的最大化,但是在时间复杂度上面显得确十分糟糕。为此CELF算法应势而生,CELF算法利用了函数次模性的特点,在第一轮选择种子结点时,计算网络中所有节点的边际收益,但将在之后的过程中,不再做网络节点边际收益的重复计算,这相对于传统的贪婪算法,将在时间上得到非常明显的

hahaxq的博客 2478

HyperLynx(十四)高级分析技术

如果没有查找到该模型,可使用菜单命令“Setup”→“Options”→“Directories”,打开“Set Directories”对话框,单击“Edit”按钮,在“Select Directories for IC-Model Files”对话框中将路径“…在“Assign Models”对话框中的“Port”栏找到“OUTM”端口,在其对应的“Circuit Connection”栏中选择“txout”项。将端口R75连接到“Gnd”。同样,将“EMP”连接到“V”,完成预加重设置。...

小幽余生不加糖 4951

链表相交

给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:R...

chenxiacheng的博客 279

[RK3568 Android11] 开发之蓝牙(AP6275S)

前言 蓝牙是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。 接下来是在RK3568上调试AP6275S模块蓝牙部分: 一、设备树dts配置 根据硬件原理图,找到对应的控制引脚,配置好dts: ...

~未来可期~ 4075

【LeetCode_160】相交链表

LeetCode第160题【相交链表】的C++解法

有梦想的电信狗 1419

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

单链表OJ题:LeetCode--160.相交链表

LeetCode--160.相交链表C语言实现的解题思路,有详细的解题思路介绍,还附带图片解析,完整代码,喜欢自取。

Yikefore的博客 1663

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【LeetCode刷题日记】160:相交链表

【摘要】本文解析LeetCode160题,寻找两个单链表的相交节点。核心思路是通过计算链表长度差,将较长链表的指针移动到与短链表相同起点后同步遍历比较。关键点在于比较节点地址而非值,确保相交节点后所有节点一致。算法步骤包括:1)计算两链表长度;2)调整指针到同一起点;3)同步遍历寻找地址相同的节点。文中强调需重置指针位置和正确处理链表长度比较,提供了Java实现代码及详细注释。最后提示注意比较节点地址的重要性,并鼓励读者互动交流。

任岁月风干理想再也找不回真的我 683

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【leetcode】160.相交链表

刷题小记

2402_83244812的博客 2084

【LeetCode】160. 相交链表

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

qq_53133787的博客 1928

LeetCode每日一练 —— 160. 相交链表

leetcode 160. 相交链表

Edison's 小宇宙 1万+

Leetcode 160. 相交链表

题目要求找出两个单链表的相交节点,若不存在则返回null。通过双指针法,可以高效解决该问题。具体思路是:两个指针分别从链表A和链表B的头节点开始遍历,当其中一个指针到达链表末尾时,将其指向另一个链表的头节点继续遍历。如果两个链表相交,两个指针最终会在相交节点相遇;如果不相交,两个指针会同时到达链表末尾(null)。该方法时间复杂度为O(m+n),空间复杂度为O(1)。需要注意的是,链表中值相同的节点并不一定是同一个节点,判断相交节点时应比较节点本身而非节点的值。

2301_78330892的博客 1701

力扣160:相交链表

力扣160:相交链表

2501_93048002的博客 1719

LeetCode ——160. 相交链表,142. 环形链表 II

今天来讲解几个经典的链表题目,链接已经给出大家可以挑战一下。

qq_63943454的博客 1359

【LeetCode】—— 相交链表LeetCode160题

题目描述 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 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 (...

chenxiyuehh的博客 806

【leetcode】Python实现-160.相交链表

160.相交链表 描述 2333这个题之前有总结到啊。 思路是这样的(题目中假设没有环): 1.分别遍历两个链表,如果尾节点不同则不相交,返回None,如果尾节点相同则求相交结点。 2.求相交结点的方法是,求出链表长度的差值,长链表的指针先想后移动lenA-lenB。然后两个链表一起往后走,若结点相同则第一个相交点。 3.求链表的长度,在遍历的时候就计算,并将每个结点放在字...

神不烦 5272

LeetCode热题--160.相交链表--简单

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

2301_80071187的博客 985
上一篇: 【链表-简单】160. 相交链表
下一篇: 【链表-简单】83. 删除排序链表中的重复元素
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值