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

【leetcode】02.07. 链表相交

链表相交

    • 题目
    • 代码
      • 1. 计算两个链表的长度
      • 2. 双指针

题目

02.07. 链表相交

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

图示两个链表在节点 c1 开始相交:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码

1. 计算两个链表的长度

思路: 获取两个链表的长度,然后根据将两个链表的开始节点从同一长度(相对于后面相等)开始

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution(object):def getIntersectionNode(self, headA, headB):""":type head1, head1: ListNode:rtype: ListNode"""# 计算两个链表的长度,然后从后面的相同长度开始lenA = 0lenB = 0cur = headAwhile cur:cur = cur.nextlenA += 1cur = headBwhile cur:cur = cur.nextlenB += 1curA = headAcurB = headB# 让长链表的指针先走 |lenA - lenB| 步if lenA > lenB:for i in range(lenA - lenB):curA = curA.nextelse:for i in range(lenB - lenA):curB = curB.nextwhile curA:if curA == curB:return curAcurA = curA.nextcurB = curB.nextreturn None

2. 双指针

思路: 根据快慢法则,走的快的一定会追上走得慢的。
在这道题里,有的链表短,他走完了就去走另一条链表,我们可以理解为走的快的指针。

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution(object):def getIntersectionNode(self, headA, headB):""":type head1, head1: ListNode:rtype: ListNode"""# 双指针ta, tb = headA, headBwhile ta != tb:ta = ta.next if ta else headBtb = tb.next if tb else headAreturn tb

代码随想录:链接

http://www.xdnf.cn/news/10153.html

相关文章:

  • 大模型-attention汇总解析之-MLA
  • 循序渐进PersistentVolumes与PersistentVolumeClaim
  • shell管道笔记
  • Oralce RAC DRM详解
  • 【征求意见】四川省大数据发展研究会关于对《数据资源建设费用测算标准》团体标准征求意见的通知
  • Python_day40
  • Python常见的面试题
  • vueflow
  • 【仿生机器人】需求案例
  • EWM108-GN06B系列BDS单北斗卫星定位模块产品简介
  • [IMX] 10.串行外围设备接口 - SPI
  • win32相关(创建线程)
  • 多线程(3)
  • MySQL中怎么看是否走了索引
  • 数据库中求最小函数依赖集-最后附解题过程
  • EMQX服务
  • DALI DT6与DALI DT8介绍
  • PlankAssembly 笔记 DeepWiki 正交视图三维重建
  • redis缓存与数据库协调读写机制设计
  • JAVA 集合进阶 泛型类、泛型方法、泛型接口
  • 【算法训练营Day03】链表part1
  • 随笔笔记记录5.28
  • 说一说SAP系统从Non-Unicode到Unicode的演化
  • 674SJBH校园外卖订餐系统V3
  • OpenLayers 图形绘制
  • 卫星地图 App 的实测体验深度解析
  • DeepSeek 赋能工业互联网:设备预测性维护的智能革新之路
  • 突破铁芯CT局限:罗氏线圈的“无磁饱和”技术深度解读
  • 身份证信息OCR识别提取
  • NIO知识点