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;
    
    }
}
相关推荐
程序员-King.5 分钟前
day152—回溯—电话号码的字母组合(LeetCode-17)
算法·leetcode·深度优先·递归
wm10437 分钟前
代码随想录 第六天
数据结构·算法
I Promise349 分钟前
计算机常用算法在工程中的全面应用
算法
LDG_AGI12 分钟前
【机器学习】深度学习推荐系统(三十):X 推荐算法Phoenix rerank机制
人工智能·分布式·深度学习·算法·机器学习·推荐算法
皮蛋sol周17 分钟前
嵌入式学习数据结构(三)栈 链式 循环队列
arm开发·数据结构·学习·算法··循环队列·链式队列
devnullcoffee22 分钟前
2026年Amazon Listing优化完全指南:COSMO算法与Rufus AI技术解析
人工智能·python·算法·亚马逊运营·amazon listing·cosmo算法·rufus ai技术
苦藤新鸡36 分钟前
19.旋转输出矩阵
c++·算法·leetcode·力扣
zsffuture37 分钟前
RKNN 8位量化全解析:算法差异与粒度选择实战指南
算法
玄冥剑尊37 分钟前
贪心算法深化 II
算法·贪心算法
Pluchon38 分钟前
硅基计划4.0 算法 动态规划入门
java·数据结构·算法·动态规划