题目:

分析:
判断两个链表是否相交,可以使用哈希集合存储链表节点。

首先遍历链表 \textit{headA}headA,并将链表 \textit{headA}headA 中的每个节点加入哈希集合中。然后遍历链表 \textit{headB}headB,对于遍历到的每个节点,判断该节点是否在哈希集合中:

如果当前节点不在哈希集合中,则继续遍历下一个节点;

如果当前节点在哈希集合中,则后面的节点都在哈希集合中,即从当前节点开始的所有节点都在两个链表的相交部分,因此在链表 \textit{headB}headB 中遍历到的第一个在哈希集合中的节点就是两个链表相交的节点,返回该节点。

如果链表 \textit{headB}headB 中的所有节点都不在哈希集合中,则两个链表不相交,返回 \text{null}null。
代码如下:

class Solution {
public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {unordered_set<ListNode *> visited;ListNode *temp = headA;while (temp != nullptr) {visited.insert(temp);temp = temp->next;}temp = headB;while (temp != nullptr) {if (visited.count(temp)) {return temp;}temp = temp->next;}return nullptr;}

leetcode刷题:相交链表相关推荐

  1. leetcode刷题笔记-链表的使用

    一.单链表的基础:增删改查 问题:设计一个单链表,要求实现其增删改查功能.707. 设计链表 问题分析 往链表中添加元素的步骤 往链表中删除元素的步骤 注意:对于单链表来说,添加一个无用的头节点,再对 ...

  2. leetcode算法题--相交链表

    原题链接: https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ https://leetcode-cn.com/pro ...

  3. LeetCode刷题 876链表的中间结点

    876. 链表的中间结点 难度简单550收藏分享切换为英文接收动态反馈 给定一个头结点为 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[ ...

  4. leetcode刷题02--求链表交点--T160

    题目: 思路一: 可以使用c++自带的stl库中的set集合来进行查找 知识补充: stl中set的使用: 其实set就是一个存放数据的集合,但是配备了一些很方便的操作 其中主要要用到的操作有三个: ...

  5. leetCode刷题(使用链表做加法)

    Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 Explanation: 342 + 465 = ...

  6. C#LeetCode刷题-链表

    链表篇 # 题名 刷题 通过率 难度 2 两数相加   29.0% 中等 19 删除链表的倒数第N个节点   29.4% 中等 21 合并两个有序链表 C#LeetCode刷题之#21-合并两个有序链 ...

  7. 《LeetCode力扣练习》第160题 相交链表 Java

    <LeetCode力扣练习>第160题 相交链表 Java 一.资源 题目: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存 ...

  8. leetcode刷题链表

    leetcode刷题链表 反转链表Ⅱ 题目描述将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1).例如: 给出的链表为9 ...

  9. LeetCode刷题之旅

    LeetCode刷题之旅 一.链表 1.链表逆序(leetcode 206.Reverse Linked List)esay 题目描述:已知链表头节点指针head,将链表逆序. 思路:从链表的头节点依 ...

  10. C#LeetCode刷题-程序员面试金典

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...

最新文章

  1. ElasticSearch 组合过滤器
  2. 百度 Java 后端三轮面试题,这些你会吗?
  3. 自定义线程池-线程类和任务类代码实现
  4. Vue组件之全局组件与局部组件
  5. 《数据库SQL实战》查找最晚入职员工的所有信息
  6. Ubuntu设置中修改密码,提示长度太短或太简单【终极解决办法】
  7. emacs python ide_Emacs Python IDE win7 x64
  8. [UE4] Component BluePrint 组合 代替 BluePrint 继承 实现 ECS 结构
  9. Android面试常规问答
  10. 《一个操作系统的实现》 ubuntu系统环境配置
  11. Delphi7与Delphi2007
  12. 数学建模美赛历年优秀论文(O奖)
  13. OpenCV-Python官方文档的查看
  14. Excel如何锁定首列,教程来啦!怎样将excel的列锁定冻结
  15. 非同帆响-得帆信息发布全新高生产力PaaS平台,重新定义企业软件生产力
  16. 使用阿里云提供的短信服务发送短信(个人版)
  17. IDEA Java 死锁
  18. 配置CLion进行嵌入式STM32的HAL库开发
  19. 数据库原理—关系数据库
  20. matlab x(n)16点DFT,数字信号处理课程设计参考题目

热门文章

  1. Magisk —— 安卓新一代的第三方拓展,systemless模式
  2. 嵌入式软件设计第九次实验报告-140201235-陈宇
  3. Java中字节流和字符流的比较(转)
  4. React Native 从入门到原理
  5. 使用RAID进行磁盘管理
  6. 出版物排版软件——对XML数据进行排版、浏览、转换、打印
  7. JavaScript 特效代码集
  8. clion导入mysql库_CLion如何添加依赖库 ? 需要把mysql/Connector c++放入 用cpp连接数据库...
  9. python append函数 循环_Python中循环后使用list.append数据被覆盖问题的解决
  10. python 购物车程序_购物车程序python