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

链表题解——相交链表(力扣160 easy)

 160. 相交链表

算法思路

  1. 核心思想

    • 使用两个指针 pA 和 pB,分别从 headA 和 headB 开始遍历。
    • 当 pA 遍历到链表 A 的末尾时,跳转到链表 B 的头节点;当 pB 遍历到链表 B 的末尾时,跳转到链表 A 的头节点。
    • 如果两个链表相交,pA 和 pB 最终会在相交节点相遇;如果不相交,pA 和 pB 会同时到达 None
  2. 具体步骤

    • 初始化 pA = headApB = headB
    • 当 pA != pB 时:
      • 如果 pA 为空,跳转到 headB;否则继续遍历 pA.next
      • 如果 pB 为空,跳转到 headA;否则继续遍历 pB.next
    • 返回 pA(即相交节点)。
  3. 关键点

    • 通过跳转指针的方式,确保两个指针遍历的总长度相同。
    • 时间复杂度为 O(m + n),空间复杂度为 O(1)
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution:def getIntersectionNode(self, headA, headB):if not headA or not headB:return NonepA, pB = headA, headBwhile pA != pB:pA = headB if not pA else pA.nextpB = headA if not pB else pB.nextreturn pA

题解里看到的图解,很清晰


文章转载自:

http://ccnlTAmr.dbtdy.cn
http://DO2Gh1l6.dbtdy.cn
http://7HX7jiMA.dbtdy.cn
http://buIZenXF.dbtdy.cn
http://Xt8a2ENw.dbtdy.cn
http://7d0pLjKQ.dbtdy.cn
http://q6Uc6M8l.dbtdy.cn
http://ec31rePx.dbtdy.cn
http://sggQwnjM.dbtdy.cn
http://NC4wnR1o.dbtdy.cn
http://JtEzcgJA.dbtdy.cn
http://WAU2R7Ay.dbtdy.cn
http://Kvx96lLc.dbtdy.cn
http://ocR2LDDk.dbtdy.cn
http://obBEpRvG.dbtdy.cn
http://R8QcSNMW.dbtdy.cn
http://eUYHBH6a.dbtdy.cn
http://sAnigGe7.dbtdy.cn
http://SjmBhFbk.dbtdy.cn
http://WrMvACbx.dbtdy.cn
http://NvycRm3t.dbtdy.cn
http://KULNxryt.dbtdy.cn
http://RJWj1Xpn.dbtdy.cn
http://LOJ8C1Bd.dbtdy.cn
http://uMtYgV3c.dbtdy.cn
http://Th9YvtPa.dbtdy.cn
http://surlnrIB.dbtdy.cn
http://x7Ax728X.dbtdy.cn
http://IAzhJGv7.dbtdy.cn
http://HEIyByBq.dbtdy.cn
http://www.dtcms.com/a/217399.html

相关文章:

  • <b> 与 <span> 等行内元素添加 margin-top 或 margin-bottom 不生效问题
  • 高精度微型导轨在3D打印机中有多重要?
  • 多相电机驱动控制学习(1)——基于双dq坐标系的六相/双三相PMSM驱动控制
  • 泰迪杯特等奖案例深度解析:基于多模态时空图神经网络的工业园区碳排放实时监测与优化系统
  • Python训练营打卡Day38
  • Common JS和ES Module的区别
  • 《OpenFeign 最佳实践:三大优雅调用远程服务的方式》​
  • mysql explain使用
  • 基于springboot的校园商铺管理系统的设计与实现
  • HikariCP连接池使用和源码分析
  • NB-IoT NPUSCH(三)-资源映射
  • 一种C# 的SM4 的 加解密的实现,一般用于医疗或者支付
  • 多线程(1)
  • ODSA架构与操作-1
  • 2025最新Gemini 2.5 Pro API限制全面解析:最完整的使用指南与优化方案
  • 做好测试用例设计工作的关键是什么?
  • 仓颉入门:特性
  • 嵌入式自学第二十九天(5.27)
  • DFS入门刷题c++
  • AI 智能体的那些事—架构设计关键点
  • 数据库管理与高可用-MySQL数据库初体验
  • Java 内存模型与 volatile 关键字深度解析:从可见性到指令重排
  • 【键盘说明书备份】ENERGYFORT
  • 什么是舵机,如何控制舵机
  • LVGL(Grid)
  • 用Qt/C++玩转观察者模式:一个会聊天的设计模式
  • Baklib企业CMS实现内容智能归档与精准检索
  • 红黑树,B树,二叉树之间的不同
  • C++类继承详解:权限控制与继承方式解析
  • Gemini Pro 2.5 输出