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;
    
    }
}
相关推荐
lengxuenong13 小时前
树状数组 · 信息学学习手册1-求和3个模板
c++·学习·算法·青少年编程
ComputerInBook13 小时前
泛函分析概观
人工智能·算法·机器学习·泛函分析
Nuanyt13 小时前
LeetCode Hot100 刷题笔记 · 普通数组专题
java·笔记·算法·leetcode
q275513004213 小时前
AS8132 DP转HDMI 4K60(420)被动式 国产性价比AS方案
linux·算法·硬件架构·dash
安全指北针13 小时前
密态计算:数据 “可用不可见” 的底层技术解析
人工智能·算法
Jmyd012314 小时前
3D 扫描仪选型技术拆解:精度、点云与软件链路
人工智能·算法·3d·三维数字化
xxxiugou12314 小时前
链表算法题精讲:从两数相加到K组翻转
数据结构·c++·算法·链表
梦帮科技14 小时前
量子纠缠网络与量子隐形传态攻防:量子中继器信道串扰、纠缠态保真度降解与量子路由劫持
开发语言·网络·人工智能·算法·自动化·php
老王IT14 小时前
C语言语法基础语法介绍
c语言·开发语言·算法
m0_7196408715 小时前
2026年适合课题研究的具身智能实验室建设方案有哪些可参考?
经验分享·算法