160. 相交链表/c++

160. 相交链表 - 力扣(LeetCode)

题解:

cpp 复制代码
class Solution {
public:
    ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
        unordered_set<ListNode*> visited; // ✅ 存指针
        
        // 遍历链表 A,记录所有节点地址
        while (headA) {
            visited.insert(headA); // ✅ 插入指针
            headA = headA->next;
        }
        
        // 遍历链表 B,检查是否有节点已在 A 中出现
        while (headB) {
            if (visited.find(headB) != visited.end()) { // ✅ 查找指针
                return headB; // 找到交点
            }
            headB = headB->next;
        }
        
        return nullptr; // C++ 推荐用 nullptr 而非 NULL
    }
};

注意

cpp 复制代码
unordered_set<ListNode> unset;  // ❌ 编译错误!
unordered_set<ListNode*> unset;  // ✅ 存储指针
  • ListNode 是自定义结构体,没有默认的哈希函数和相等比较函数
  • C++ 标准库无法对 ListNode 对象进行哈希或比较
  • 会报你之前看到的错误:"call to implicitly-deleted default constructor"
相关推荐
papership5 小时前
【入门级-数据结构-3、特殊树:完全二叉树的数组表示法】
数据结构·算法·链表
smj2302_796826525 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
山甫aa5 小时前
差分数组 ----- 从零开始的数据结构
数据结构
早日退休!!!5 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
Beginner x_u5 小时前
链表专题:JS 实现原理与高频算法题总结
javascript·算法·链表
丑八怪大丑5 小时前
Java数据结构与集合源码
数据结构
一个爱编程的人14 小时前
一个数是不是素数
数据结构·算法
忡黑梨14 小时前
eNSP_从直连到BGP全网互通
c语言·网络·数据结构·python·算法·网络安全
地球资源数据云15 小时前
1900-2023年中国物种分布点位矢量数据集
大数据·数据结构·数据库·数据仓库·人工智能
AI人工智能+电脑小能手15 小时前
【大白话说Java面试题】【Java基础篇】第20题:HashMap在计算index的时候,为什么要对数组长度做减1操作
java·开发语言·数据结构·后端·面试·哈希算法·hash-index