力扣-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,如果有公共结点,那么按照这种遍历方法一定会重合

相关推荐
weisian15110 分钟前
Java并发编程--47-分布式ID生成器:雪花算法(Snowflake)与时钟回拨问题
java·算法·时钟回拨·雪花算法id
itzixiao11 分钟前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法
ytttr87312 分钟前
MATLAB SIFT图像配准实现
算法·机器学习·matlab
小饕15 分钟前
从 Word2Vec 到多模态:词嵌入技术的演进全景
人工智能·算法·机器学习
海参崴-17 分钟前
AVL树完整实现与深度解析
算法
一个爱编程的人24 分钟前
一个数是不是素数
数据结构·算法
Hui_AI72029 分钟前
基于RAG的农产品GEO溯源智能问答系统实现
开发语言·网络·人工智能·python·算法·创业创新
lwf00616430 分钟前
FFM (Field-aware Factorization Machine) 学习日记
算法·机器学习
南宫萧幕30 分钟前
HEV能量管理控制算法实战:从MPC/RL理论基础到Simulink闭环建模
算法·matlab·汽车·控制·pid
IT猿手37 分钟前
SCI一区:章鱼优化算法(Octopus Optimization Algorithm, OOA)求解23个测试函数,出图丰富,提供完整MATLAB代码
开发语言·算法·matlab