1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

题解

题面描述

给定两个单链表的头节点 headAheadAheadA 和 headBheadBheadB,请找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,则返回 nullnullnull。
题目保证整个链式结构中不存在环。

输入描述:

  • 第一行包含两个整数 nnn 和 skipAskipAskipA,其中 nnn 表示链表 AAA 的节点个数,skipAskipAskipA 表示在链表 AAA 中从头节点到相交节点需要跳过的节点个数。

P4015.相交链表

    1000ms Tried: 4396 Accepted: 1141 Difficulty: 3 所属公司 : Hot100
    算法与标签>双指针

Leetcode 160.相交链表-原题链接

题目内容

给你两个单链表的头节点headA headAheadA和 headBheadBheadB ,请你找出并输出两个单链表相交的起始节点。如果两个链表不存在相交节点,输出 000 。

图示两个链表在节点 c1c1c1 开始相交:

image

题目数据 保证整个链式结构中不存在环。

注意,函数返回结果后,链表必须 保持其原始结构 。

  • intersectValintersectValintersectVal- 相交的起始节点的值。如果不存在相交节点,这一值为 000
  • listAlistAlistA - 第一个链表
  • listBlistBlistB - 第二个链表
  • skipAskipAskipA- 在 listAlistAlistA 中(从头节点开始)跳到交叉节点的节点数
  • skipBskipBskipB - 在 listBlistBlistB中(从头节点开始)跳到交叉节点的节点数

输入描述

输入一共四行,

  • 第一行有两个整数n,skipAn,skipAn,skipA
  • 第二行为nnn个整数,表示listAlistAlistA
  • 第一行有两个整数m,skipBm,skipBm,skipB
  • 第二行为mmm个整数,表示listBlistBlistB

输出描述

一个整数intersectValintersectValintersectVal,表示相交的起始节点的值

样例1

image

输入

5 2
4 1 8 4 5
6 3
5 6 1 8 4 5

输出

8

说明

相交节点的值为 888 (注意,如果两个链表相交则不能为 000)。

从各自的表头开始算起,链表 AA A为 [4,1,8,4,5][4,1,8,4,5][4,1,8,4,5],链表 BBB 为[5,6,1,8,4,5][5,6,1,8,4,5][5,6,1,8,4,5]。

在 AAA 中,相交节点前有 222 个节点;在 BBB 中,相交节点前有 333 个节点。

— 请注意相交节点的值不为 111,因为在链表A AA 和链表 BBB 之中值为 11 1的节点 (AAA 中第二个节点和 BBB 中第三个节点) 是不同的节点。换句话说,它们在内存中指向两个不同的位置,而链表 AAA 和链表 BB B中值为 888 的节点 (AAA 中第三个节点,BBB 中第四个节点) 在内存中指向相同的位置。

样例2

image

输入

5 3
1 9 1 2 4
3 1
3 2 4

输出

2

说明

相交节点的值为 222 (注意,如果两个链表相交则不能为 000)。

从各自的表头开始算起,链表 AAA 为[1,9,1,2,4] [1,9,1,2,4][1,9,1,2,4],链表B BB 为[3,2,4] [3,2,4][3,2,4]。

在 AA A中,相交节点前有3 3 3个节点;在B BB 中,相交节点前有 111 个节点。

样例3

image

输入

3 3
2 6 4
2 2
1 5

输出

0

说明

从各自的表头开始算起,链表 AAA 为 [2,6,4][2,6,4][2,6,4],链表 BBB 为[1,5] [1,5][1,5]。

由于这两个链表不相交,所以intersectVal intersectValintersectVal 必须为 000,而 skipAskipAskipA 和 skipBskipBskipB 可以是任意值。

这两个链表不相交,因此输出 000

提示

  • listAlistAlistA 中节点数目为m mm
  • listBlistBlistB 中节点数目为 nnn
  • 1<=m,n<=3∗1041 <= m, n <= 3 * 10^41<=m,n<=3∗104
  • 1<=Node.val<=1051 <= Node.val <= 10^51<=Node.val<=105
  • 0<=skipA<=m0 <= skipA <= m0<=skipA<=m
  • 0<=skipB<=n0 <= skipB <= n0<=skipB<=n
  • 如果 listAlistAlistA 和 listBlistBlistB 没有交点,intersectValintersectValintersectVal 为 000
  • 如果 listAlistAlistA 和 listBlistBlistB有交点,intersectVal==listA[skipA]==listB[skipB]intersectVal == listA[skipA] == listB[skipB]intersectVal==listA[skipA]==listB[skipB]

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 51ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?