力扣-160.相交链表

题目描述

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

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

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

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

cpp 复制代码
class Solution {
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
        ListNode *p1=headA;
        ListNode *p2=headB;
        while (p1!=p2){
            if(p1!= nullptr){
                p1=p1->next;
            } else{
                p1=headB;
            }
            if(p2!= nullptr){
                p2=p2->next;
            } else{
                p2=headA;
            }
        }
        return p1;
    }
};

小结:链表题好久没做了,从这里重新回忆起来链表的内容,这道题思路很巧妙,如图(来自力扣题解)第一个指针p1走a+b-c,第二个指针走b+a-c,如果有公共结点,那么按照这种遍历方法一定会重合

相关推荐
非著名架构师22 分钟前
极端天气下的供应链韧性:制造企业如何构建气象风险防御体系
大数据·人工智能·算法·制造·疾风气象大模型·风光功率预测
星轨初途30 分钟前
数据结构排序算法详解(2)——选择排序(附动图)
c语言·数据结构·经验分享·笔记·b树·算法·排序算法
kaikaile19952 小时前
基于 MATLAB 的室内三维定位
算法
AGI前沿2 小时前
AdamW的继任者?AdamHD让LLM训练提速15%,性能提升4.7%,显存再省30%
人工智能·算法·语言模型·aigc
Tan_Ying_Y2 小时前
什么是垃圾回收算法 他的底层原理是什么?
算法
Xの哲學2 小时前
Linux 分区表深度技术剖析
linux·网络·算法·架构·边缘计算
写写闲篇儿2 小时前
经典算法题剖析之传递信息(三)
算法
上不如老下不如小2 小时前
2025年第七届全国高校计算机能力挑战赛初赛 Python组 编程题汇总
开发语言·python·算法
小年糕是糕手3 小时前
【C++】类和对象(二) -- 构造函数、析构函数
java·c语言·开发语言·数据结构·c++·算法·leetcode
kupeThinkPoem3 小时前
跳表有哪些算法?
数据结构·算法