美文网首页
链表| Leetcode 160

链表| Leetcode 160

作者: 三更冷 | 来源:发表于2023-03-12 16:27 被阅读0次

Leetcode 分类刷题 —— 链表类(Linked List)

1、题目

Leetcode 160. Intersection of Two Linked Lists

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。

2、思路

求两个链表的相交节点,首先要让两个链表从同距离末尾同等距离的位置开始遍历,消除两个链表的长度差可以采用链表合并。
pA走过的路径为:A链+B链
pB走过的路径为:B链+A链
pA、pB走过的长度相同,都是A链和B链的长度之和,相当于将两条链从尾端对齐,如果相交,则会提前在相交点相遇,如果没有相交点,则会在最后相遇。
注意不是判断结点的值相等,而是要判断结点本身是否相等,结点相等意味着结点值和结点地址都得相等才行。

3、Java 代码

public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        /**
        定义两个指针, 第一轮让两个到达末尾的节点指向另一个链表的头部, 最后如果相遇则为交点(在第一轮移动中恰好抹除了长度差)
        两个指针等于移动了相同的距离, 有交点就返回, 无交点就是各走了两条指针的长度
        **/
        if(headA == null || headB == null) return null;
        ListNode pA = headA, pB = headB;
        // 在这里第一轮体现在pA和pB第一次到达尾部会移向另一链表的表头, 而第二轮体现在如果pA或pB相交就返回交点, 不相交最后就是null==null
        while(pA != pB) {
            pA = pA == null ? headB : pA.next;
            pB = pB == null ? headA : pB.next;
        }
        return pA;
    }
}

相关文章

  • LeetCode链表专题

    (一)LeetCode206.反转链表 题目描述: 反转一个单链表。 代码实现 (二)LeetCode160. 相...

  • 160. 相交链表

    160. 相交链表[https://leetcode.cn/problems/intersection-of-tw...

  • TOP 100 51 - 56

    160. 相交链表[https://leetcode-cn.com/problems/intersection-o...

  • 160. 相交链表

    160. 相交链表[https://leetcode-cn.com/problems/intersection-o...

  • LeetCode 156-160

    160. 相交链表[https://leetcode-cn.com/problems/intersection-o...

  • Leetcode 160 相交链表

    题目 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入...

  • 相交链表(LeetCode 160)

    题目 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入...

  • leetcode高频题——链表

    概述 本文是从leetcode题库中精选出的关于链表的题目,在面试中具有较高的出现频率。 160. 相交链表 编写...

  • LeetCode | 链表相关题目

    LeetCode 160.相交链表 编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:示例在节点 c1...

  • 160、相交链表 | 算法(leetcode,附思维导图 + 全

    零 标题:算法(leetcode,附思维导图 + 全部解法)300题之(160)相交链表 一 题目描述 二 解法总...

网友评论

      本文标题:链表| Leetcode 160

      本文链接:https://www.haomeiwen.com/subject/cgelldtx.html