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;
    
    }
}
相关推荐
徐行tag9 小时前
RLS(递归最小二乘)算法详解
人工智能·算法·机器学习
南方的狮子先生9 小时前
【C++】C++文件读写
java·开发语言·数据结构·c++·算法·1024程序员节
Alex艾力的IT数字空间10 小时前
完整事务性能瓶颈分析案例:支付系统事务雪崩优化
开发语言·数据结构·数据库·分布式·算法·中间件·php
玖剹10 小时前
二叉树递归题目(一)
c语言·c++·算法·leetcode
沧澜sincerely10 小时前
BFS & 图论【各种题型+对应LeetCode习题练习】
leetcode·图论·广度优先
ChoSeitaku10 小时前
线代强化NO6|矩阵|例题|小结
算法·机器学习·矩阵
Neil今天也要学习10 小时前
永磁同步电机无速度算法--基于一阶线性状态观测器的反电动势观测器
算法
橘颂TA10 小时前
【剑斩OFFER】算法的暴力美学——寻找峰值
数据结构·算法·力扣·c/c++
陈陈爱java10 小时前
秋招八股算法常见
数据结构·算法
不穿格子的程序员10 小时前
从零开始写算法——二分-寻找旋转排序数组中的最小值
数据结构·算法·leetcode·二分查找