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;
    
    }
}
相关推荐
w_zero_one3 小时前
递归算法(一)
java·开发语言·算法
圣保罗的大教堂3 小时前
leetcode 3736. 最小操作次数使数组元素相等 III 简单
leetcode
文丑颜不良啊4 小时前
LeetCode1881~1990题目解析
java·leetcode
风影同志783244 小时前
20 个比特能装下多少行情?——实测拆解 Kronos 的 K 线分词器
算法
写的都是BUG5 小时前
APK 里的钥匙,一直就放在门口:聊聊加固真正该做什么
前端·算法
地平线开发者5 小时前
CLIP 的零样本分类:一组文本如何变成图像分类器?
算法
京东云开发者6 小时前
从“会生成”到“能生产”:萤火虫 AIGC 平台的 AI Infra 实践
算法·aigc·产品
youshi66686 小时前
PID——算法改进
算法
文丑颜不良啊7 小时前
LeetCode1861~1880题目解析
java·leetcode
文丑颜不良啊7 小时前
LeetCode1921~1940题目解析
java·leetcode