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

【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

代码随想录:链接

相关文章:

  • 什么是AI Agent?大白话新手教学
  • Python基本运算符
  • Java异常与错误:核心区别深度解析
  • Baklib内容中台AI赋能智能服务升级
  • 【论文阅读】DanceGRPO: Unleashing GRPO on Visual Generation
  • 基于VU37P的高性能采集板卡
  • Vue3中Element-Plus中el-input及el-select 边框样式
  • 从equals思考对“正念”的认知
  • 基于SpringBoot的在线拍卖系统计与实现(源码+文档+部署讲解)
  • 深入解析 Redis Cluster 架构与实现(一)
  • RSTP协议:秒级收敛解析
  • RedisTemplate查询不到redis中的数据问题(序列化)
  • 人工智能时代Agent与MCP区别联系
  • 企业级Spring MVC高级主题与实用技术讲解
  • Java Web 开发详细流程
  • 大模型-attention汇总解析之-NSA
  • pikachu通关教程-RCE
  • Sums of Sliding Window Maximum_abc407F分析与解答
  • 001在线拍卖系统技术揭秘:构建高效交互的竞拍平台
  • 【吾爱】逆向实战crackme160学习记录(一)
  • 网站平台怎么做的好处/怎样和政府交换友链
  • 织梦做企业网站/网站推广软件下载安装免费
  • 超市网站建设方案/游戏推广员是做什么的
  • 做网站选择什么相机/电商培训班
  • 优化关键词的方法有哪些/百度网站怎么优化排名
  • 企业服务建设网站/如何做网站推广的策略