leetcode 160 相交链表

题目

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

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

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

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

思路

A和B为两个指针,不为空时就一直往下走,当A走到链表尾,下次访问B的头结点,同理,B走到链表尾,下次访问A的头结点,两者再次相遇之时,就是公共的节点。

代码

java 复制代码
public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode A=headA,B=headB;
        while(A!=B){//A和B不同时,一起往下走
            A = A != null ? A.next : headB;//A不为空,A后移,到尾转B
            B = B != null ? B.next : headA;//B不为空,B后移,到尾转A
        }
        return A;
    
    }
}
相关推荐
MicroTech202513 小时前
微算法科技(NASDAQ: MLGO)噪声图像的量子图像边缘提取算法:技术革新与产业赋能
科技·算法·量子计算
大模型最新论文速读13 小时前
EvoLM:8B 模型自写评分标准,RL 后超越 GPT-4
人工智能·深度学习·算法·机器学习·自然语言处理
木子墨51613 小时前
工程算法实战 | 从LRU到手写本地缓存:LinkedHashMap → 双向链表+哈希表 → Caffeine 原理
java·数据结构·算法·链表·缓存
数智工坊13 小时前
【Offline RL1】离线强化学习全景:从基础理论到前沿算法与工业落地
算法
流年如夢13 小时前
二叉树(LeetCode)
数据结构·算法·leetcode·职场和发展
数据皮皮侠14 小时前
上市公司内源与债权股权融资协同数据(2009-2025)
大数据·人工智能·算法·microsoft·百度
KillerNoBlood14 小时前
2026移动端跨平台开发面经总结
android·算法·flutter·ios·移动开发·鸿蒙·kmp
YL2004042614 小时前
035LRU缓存
java·leetcode·缓存
basketball61614 小时前
C++ Lambda 表达式完全指南
开发语言·c++·算法
不知名的老吴14 小时前
C++中emplace函数的不适场景总结(三)
开发语言·c++·算法