leetcode刷题:相交链表
题目:
分析:
判断两个链表是否相交,可以使用哈希集合存储链表节点。
首先遍历链表 \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刷题:相交链表相关推荐
- leetcode刷题笔记-链表的使用
一.单链表的基础:增删改查 问题:设计一个单链表,要求实现其增删改查功能.707. 设计链表 问题分析 往链表中添加元素的步骤 往链表中删除元素的步骤 注意:对于单链表来说,添加一个无用的头节点,再对 ...
- leetcode算法题--相交链表
原题链接: https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ https://leetcode-cn.com/pro ...
- LeetCode刷题 876链表的中间结点
876. 链表的中间结点 难度简单550收藏分享切换为英文接收动态反馈 给定一个头结点为 head 的非空单链表,返回链表的中间结点. 如果有两个中间结点,则返回第二个中间结点. 示例 1: 输入:[ ...
- leetcode刷题02--求链表交点--T160
题目: 思路一: 可以使用c++自带的stl库中的set集合来进行查找 知识补充: stl中set的使用: 其实set就是一个存放数据的集合,但是配备了一些很方便的操作 其中主要要用到的操作有三个: ...
- leetCode刷题(使用链表做加法)
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8 Explanation: 342 + 465 = ...
- C#LeetCode刷题-链表
链表篇 # 题名 刷题 通过率 难度 2 两数相加 29.0% 中等 19 删除链表的倒数第N个节点 29.4% 中等 21 合并两个有序链表 C#LeetCode刷题之#21-合并两个有序链 ...
- 《LeetCode力扣练习》第160题 相交链表 Java
<LeetCode力扣练习>第160题 相交链表 Java 一.资源 题目: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表不存 ...
- leetcode刷题链表
leetcode刷题链表 反转链表Ⅱ 题目描述将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1).例如: 给出的链表为9 ...
- LeetCode刷题之旅
LeetCode刷题之旅 一.链表 1.链表逆序(leetcode 206.Reverse Linked List)esay 题目描述:已知链表头节点指针head,将链表逆序. 思路:从链表的头节点依 ...
- C#LeetCode刷题-程序员面试金典
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-程序员面试金典 | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode程序员面试金典 ...
最新文章
- ElasticSearch 组合过滤器
- 百度 Java 后端三轮面试题,这些你会吗?
- 自定义线程池-线程类和任务类代码实现
- Vue组件之全局组件与局部组件
- 《数据库SQL实战》查找最晚入职员工的所有信息
- Ubuntu设置中修改密码,提示长度太短或太简单【终极解决办法】
- emacs python ide_Emacs Python IDE win7 x64
- [UE4] Component BluePrint 组合 代替 BluePrint 继承 实现 ECS 结构
- Android面试常规问答
- 《一个操作系统的实现》 ubuntu系统环境配置
- Delphi7与Delphi2007
- 数学建模美赛历年优秀论文(O奖)
- OpenCV-Python官方文档的查看
- Excel如何锁定首列,教程来啦!怎样将excel的列锁定冻结
- 非同帆响-得帆信息发布全新高生产力PaaS平台,重新定义企业软件生产力
- 使用阿里云提供的短信服务发送短信(个人版)
- IDEA Java 死锁
- 配置CLion进行嵌入式STM32的HAL库开发
- 数据库原理—关系数据库
- matlab x(n)16点DFT,数字信号处理课程设计参考题目
热门文章
- Magisk —— 安卓新一代的第三方拓展,systemless模式
- 嵌入式软件设计第九次实验报告-140201235-陈宇
- Java中字节流和字符流的比较(转)
- React Native 从入门到原理
- 使用RAID进行磁盘管理
- 出版物排版软件——对XML数据进行排版、浏览、转换、打印
- JavaScript 特效代码集
- clion导入mysql库_CLion如何添加依赖库 ? 需要把mysql/Connector c++放入 用cpp连接数据库...
- python append函数 循环_Python中循环后使用list.append数据被覆盖问题的解决
- python 购物车程序_购物车程序python