相交链表Java
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 nu11。

以下有两种解决方法:
- 一种是用Map,利用其key值唯一的方法去判断(也可以使用set,set在add时,已存在的元素会返回false,不存在的返回true),但是此种方法会导致额外的空间消耗;
- 另外一种是利用双指针,获取两个链表中的长度,将最长的起始部位和最短的起始部分相等,一起遍历.

static class ListNode{private int val;private ListNode node;public ListNode(int val, ListNode node) {this.val = val;this.node = node;}@Overridepublic String toString() {return "ListNode{" +"val=" + val +", node=" + node +'}';}}public static void main(String[] args) {ListNode node5 = new ListNode(5, null);ListNode node4 = new ListNode(4, node5);ListNode node3 = new ListNode(3, node4);ListNode node2 = new ListNode(2, node3);ListNode node1 = new ListNode(1, node2);ListNode head3 = new ListNode(3, node3);ListNode head2 = new ListNode(2, head3);ListNode head1 = new ListNode(1, head2);System.out.println("相交链表元素为:" + getIntersectionNode(head1, node1));System.out.println("相交链表元素为:" + getIntersectionNode2(head1, node1));}//相交链表private static ListNode getIntersectionNode(ListNode headA, ListNode headB) {if (headA == null || headB == null) {return null;}int a = 0, b = 0, c = 0;ListNode nodea = headA, nodeb = headB;while (nodea != null) {a++;nodea = nodea.node;}while (nodeb != null) {b++;nodeb = nodeb.node;}nodea = headA;nodeb = headB;if (a < b) {c = b - a;for (int i = 0; i < c; i++) {nodeb = nodeb.node;}} else {c = a - b;for (int i = 0; i < c; i++) {nodea = nodea.node;}}while (nodea != null && nodeb != null) {if (nodea == nodeb)return nodea;nodea = nodea.node;nodeb = nodeb.node;}return null;}private static ListNode getIntersectionNode2(ListNode headA, ListNode headB) {Map<ListNode, Integer> map = new HashMap<>();while (headA != null) {map.put(headA, headA.val);headA = headA.node;}while (headB !=null) {if (map.containsKey(headB)){return headB;}headB = headB.node;}return null;}
相交链表元素为:ListNode{val=3, node=ListNode{val=4, node=ListNode{val=5, node=null}}}
相交链表元素为:ListNode{val=3, node=ListNode{val=4, node=ListNode{val=5, node=null}}}
【LeetCode-160】相交链表_哔哩哔哩_bilibili
相关文章:
相交链表Java
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 nu11。 以下有两种解决方法: 一种是用Map,利用其key值唯一的方法去判断(也可以使用set,set在add时,已存在的元素会返回false,不存在的返回…...
第二章:OSI参考模型与TCP/IP模型
OSI参考模型与TCP/IP模型 一、OSI参考模型二、TCP/IP模型2.1 四层分法(书上)2.2 五层分法(实际厂商)2.3 数据封装和解封装2.3.1 封装2.3.2 解封装2.3.3 TCP/IP分层封装2.3.4 数据封装和解封装过程 一、OSI参考模型 1.物理层 定义电…...
知识图谱04——openGL与ubuntu22.04
跑图神经网络的时候遇到了如下问题 libGL error: failed to load driver: iris libGL error: MESA-LOADER: failed to open iris: /usr/lib/dri/iris_dri.so: 无法打开共享对象文件: 没有那个文件或目录 (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/li…...
如何看待为了省小钱而花费时间
相信每个人都会遇到这种情况:购买东西时想着货比三家或者想办法领优惠券、凑单等就可以省下一些钱,但是需要花费不少时间和精力。这时就开始犹豫了:省钱是必要的,需要居安思危,等到缺钱的时候不会后悔;又想…...
Maven Eclipse
Eclipse 提供了一个很好的插件 m2eclipse ,该插件能将 Maven 和 Eclipse 集成在一起。 在最新的 Eclipse 中自带了 Maven,我们打开,Windows->Preferences,如果会出现下面的画面: 下面列出 m2eclipse 的一些特点&a…...
Linux:redis集群(3.*版本 和 5.*版本)搭建方法
介绍 至少6个实例才能组成集群。3主3从会自动分配 Redis集群原理 Redis集群架构 Redis Cluster采用虚拟槽分区,将所有的数据根据算法映射到0~16383整数槽内 Redis Cluster是一个无中心的结构 每个节点都保存数据和整个集群的状态 集群角色 Master:Master…...
正则表达式基础语法
https://tool.oschina.net/regex 正则表达式:检查、匹配字符串的表达式 单个字符匹配: 有特殊含义的匹配: 多次重复匹配: 限定开头结尾的匹配: 贪婪模式:在满足条件的情况下,尽可能多匹配…...
数据库常见面试题--MySQL
梳理面试过程中数据库相关的常见问题,需要说明的是,这篇文章主要是基于MySQL数据库,其他类型的数据库还请自行参考使用。 数据库概述 为什么使用数据库 1、数据库增删改查更方便 2、提供了事务的能力 本质是更好的管理数据。 数据库体系结…...
Springboot 集成 Redis集群配置公网IP连接报私网IP连接失败问题
1、问题:在Springboot 集成 Redis集群配置公网IP连接报私网IP连接失败,一直报私有IP连接失败 14 14:57:49.180 WARN 22012 --- [ioEventLoop-6-4] i.l.c.c.topology.ClusterTopologyRefresh : Unable to connect to [192.168.0.19:6384]: connection …...
解决方案 | 法大大电子签精准击破销售场景签约难题
新商业形态及新交易模式不断涌现,电子签已经成为现代商业活动中不可或缺的一部分。特别是在销售场景中,电子签的应用不仅可以提高销售效率,还可以降低成本,提高客户满意度。本文将详细分析电子签在销售场景中的应用价值能力&#…...
ARM按键中断控制事件
设置按键中断,按键1按下,LED亮,再按一次,灭按键2按下,蜂鸣器响。再按一次,不响按键3按下,风扇转,再按一次,风扇停 src/key_it.c #include"key_it.h" //GPIO初…...
微信小程序之本地生活(九宫格)
文章目录 一.创建项目二.配置修改json三.编写WXML四.编写WXSS五.最终效果 一.创建项目 创建新的项目,名称为:本地生活 二.配置修改json 在app.json中删除其他页面 将index改为grid 自动生成新的文件 添加自己的轮播图片 源代码: <!--…...
【Linux 安装Kibana 及 Es 分词器安装】
一、客户端Kibana安装 Kibana是一个开源分析和可视化平台,旨在与Elasticsearch协同工作。参考文档 1. 下载并解压缩Kibana 下载路径 选择的版本是和 ElasticSearch 对应(7.17.3) 下载后上传到Linux 系统中,并放在 /root/ 下&a…...
python-arima模型statsmodels库实现-有数据集(续)-statsmodels-0.9.0版本
python-arima模型statsmodels库实现-有数据集(续) 这篇博客是上一篇python-arima模型statsmodels库实现的续集,上一篇采用的statsmodels版本应该要高一点,如果使用低版本的statsmodels代码会有bug,这一篇则是针对stat…...
JVM源码剖析之线程的创建过程
说在前面: 对于Java线程的创建这个话题,似乎已经被"八股文"带偏~ 大部分Java程序员从"八股文"得知创建Java线程有N种方式,比如new Thread、new Runnable、Callable、线程池等等~ 而笔者写下这篇文…...
ansible的介绍安装与模块
目录 一、ansible简介 二、ansible特点 三、Ansible核心组件与工作原理 1、核心组件 2、工作原理 四、ansible的安装 五、ansible 命令行模块 1.command 模块 2.shell 模块 3.cron 模块 4.user 模块 5.group 模…...
el-form简单封装一个列表页中的搜索栏
父组件如何使用 代码中注释很多, 应该很容易理解 <template><div><wgySearchv-model"searchDefault":fields"searchFields"reset"reset"submit"submit"><!-- 通过 slot 自定义的组件 传啥都行 --><te…...
【Python 2】列表 模式匹配 循环 dict set 可变对象与不可变对象
Python内置的一种数据类型是列表:list 变量classmates就是一个list。用len()函数可以获得list元素的个数 用索引来访问list中每一个位置的元素 当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界…...
深度学习—cv动物/植物数据集
文章目录 动物相关植物相关 动物相关 Edinburgh Pig Behavior Video Dataset:https://homepages.inf.ed.ac.uk/rbf/PIGDATA/ WLD 动物目标检测数据集: https://github.com/hellock/WLD 猪脸识别:https://blog.51cto.com/u_15404184/5289690 AFD动物面部数据集&…...
高效团队协作软件推荐:提升工作效率的优选方案!
使用团队协作软件有什么好处?可以摆脱过时的电子表格,有了单一的真实来源,您可以随时检查任何任务并获得可用的最新信息。 一目了然地查看所有正在进行的工作,看板式面板、甘特图和燃尽图等可视化工具可让您随时轻松获得项目的高级…...
Jimeng LoRA效果对比:同一seed下不同Epoch生成图随机性与稳定性分析
Jimeng LoRA效果对比:同一seed下不同Epoch生成图随机性与稳定性分析 1. 项目简介:一个专为LoRA效果测试而生的工具 如果你玩过Stable Diffusion,肯定对LoRA不陌生。它是一种轻量化的模型微调方法,能在不改变基础大模型的情况下&…...
m4s-converter:打破B站缓存限制,永久保存珍贵视频内容
m4s-converter:打破B站缓存限制,永久保存珍贵视频内容 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 在数字内容时代&am…...
Adobe软件非正版弹窗终极解决方案:PS/Ai/PR/AE禁用提示一键清除指南
1. Adobe弹窗问题的根源分析 最近不少朋友打开Photoshop、Illustrator这些Adobe软件时,突然跳出一个烦人的提示框:"Your non-genuine Adobe app will be disabled soon"。这个警告不仅影响使用体验,严重时还会导致软件直接罢工。作…...
AI时代:重塑核心竞争力
一、企业的核心竞争力重塑未来企业的护城河是AI构建的流程,而不是的数据。 过去我们说数据是石油,但在 LLM 时代,通用数据的价值在被快速拉平。而公司内部独特的、经过千锤百炼的工作流程、决策逻辑、操作手册,这些才是无法被轻易…...
Chandra AI企业知识管理方案:文档智能检索与摘要生成
Chandra AI企业知识管理方案:文档智能检索与摘要生成 1. 引言 企业每天都在产生海量文档——合同、报告、PPT、技术文档...这些宝贵的知识资产往往散落在各处,查找困难,利用率低。传统的关键词搜索就像在黑暗中摸索,找到的文档可…...
Qwen3-VL:30B开源大模型实践:星图平台提供模型微调+量化+蒸馏全工具链
Qwen3-VL:30B开源大模型实践:星图平台提供模型微调量化蒸馏全工具链 1. 开篇:为什么你需要一个私有化的多模态助手? 想象一下这个场景:你正在和团队讨论一个产品设计图,需要快速分析图片中的UI布局是否合理ÿ…...
Pixel Aurora Engine惊艳图集:基于‘进化像素’哲学的跨时代视觉融合
Pixel Aurora Engine惊艳图集:基于进化像素哲学的跨时代视觉融合 1. 像素极光引擎概览 Pixel Aurora Engine是一款革命性的AI绘图工作站,它将现代扩散模型技术与复古像素艺术完美融合。这款工具重新定义了数字艺术创作方式,让用户能够通过简…...
告别底噪和电流声:DIY蓝牙音箱的音频电路避坑指南(从TPA2019布线到电源滤波)
蓝牙音箱DIY进阶指南:从电路设计到音质优化的全流程解析 在电子DIY领域,蓝牙音箱制作看似简单,但要实现专业级的音质表现却需要跨越诸多技术门槛。许多爱好者完成基础组装后,常会遇到底噪明显、高频失真或低频浑浊等问题——这往往…...
BGE-Reranker-v2-m3为何必须用?RAG幻觉过滤入门必看
BGE-Reranker-v2-m3为何必须用?RAG幻觉过滤入门必看 如果你正在搭建RAG系统,或者已经搭建了但总觉得回答质量时好时坏,经常出现“幻觉”——也就是模型一本正经地胡说八道——那你很可能遇到了一个核心问题:向量检索“搜不准”。…...
Lychee Rerank在遥感影像分析中的应用:多源地理数据关联
Lychee Rerank在遥感影像分析中的应用:多源地理数据关联 1. 引言 每天,卫星和无人机都在产生海量的遥感影像数据。地质勘探团队需要从数万张卫星图片中找出可能的矿藏迹象,环境监测人员要追踪森林覆盖变化,城市规划者则要分析城…...
