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"
相关推荐
noipp19 分钟前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu
青山木6 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
未来之窗软件服务6 小时前
计算机考试-快速排序—东方仙盟
数据结构·算法·排序算法·仙盟创梦ide·东方仙盟
小龙报7 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
wWYy.7 小时前
数据结构:跳表
数据结构
变量未定义~8 小时前
虚拟节点-星石传送阵(4星)、强连通分量
数据结构·算法
电子云与长程纠缠9 小时前
UE中使用TGuardValue与TInlineComponentArray数据结构
开发语言·数据结构·学习·ue5·游戏引擎
来一碗刘肉面10 小时前
串的定义与基本操作
数据结构
wWYy.10 小时前
算法:合并两个有序数组
数据结构·算法
三克的油10 小时前
数据结构-1
数据结构