【LeetCode】【算法】160.相交链表

Leetcode 160. 相交链表

题目描述

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

思路

A+B,一个指针,访问完A访问B;另一个指针,访问完B访问A

若AB相遇则找到相交点,否则无相交点

因为A+B的长度是相等的

代码

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode pA = headA, pB = headB;
        while (pA != null || pB != null){
            if (pA == pB) return pA;

            if (pA == null) {
                pA = headB;
            } else {
                pA = pA.next;
            }
            if (pB == null) {
                pB = headA;
            } else {
                pB = pB.next;
            }
        }
        return null;
    }
}
相关推荐
Keep__Fighting13 小时前
【机器学习:K-Means】
人工智能·python·算法·机器学习·kmeans·聚类·sklearn
萤虫之光13 小时前
萌新如何学好动态规划
算法·动态规划
qq_4308558813 小时前
线代第二章矩阵第二课:矩阵的加法、减法、数乘
人工智能·算法·矩阵
上不如老下不如小13 小时前
2025年第七届全国高校计算机能力挑战赛 决赛 Java组 编程题汇总
java·python·算法
路长冬13 小时前
数据结构:双向链表
数据结构·链表
奔跑吧邓邓子13 小时前
链表:数据结构的灵活纽带
数据结构·链表·实战
兩尛13 小时前
查找接口成功率最优时间段 (c卷)
c语言·开发语言·算法
再__努力1点13 小时前
【59】3D尺度不变特征变换(SIFT3D):医学影像关键点检测的核心算法与实现
人工智能·python·算法·计算机视觉·3d
小白量化13 小时前
量化研究--上线完成强大的金融数据库3.0系统
数据库·人工智能·python·算法·金融·量化·qmt
roman_日积跬步-终至千里13 小时前
【计算机算法与设计(8)】最小生成树算法(Kruskal 算法和 Prim 算法)
算法