当前位置: 首页 > news >正文

【无标题】面试题 02.07. 链表相交

面试题 02.07. 链表相交

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

方法一:遍历headA,将每个节点add到HashSet中;然后遍历headB,如果HashSet contains当前节点则返回该节点。

此方法的时间复杂度为O(m+n), m为headA长度,n为headB长度;空间复杂度为O(m),因为需要使用HashSet存储headA。

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {HashSet<ListNode> visited = new HashSet<ListNode>();ListNode i = headA;while(i != null){visited.add(i);i = i.next;}i = headB;while(i != null){if(visited.contains(i)) return i;i = i.next;}return null;}
}

方法二:双指针法
eadA长度为m, headB长度为n,假设headA在相交节点之前长度为a,headB在相交节点之前长度为b,那么应有m+b = n+a,因此使用两个指针i,j分别遍历headA, headB,在一个链表遍历结束后去遍历另一链表,当i == j时候,返回ij即可。

public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode a = headA;ListNode b = headB;ListNode ins = null;while(a != b){a = (a != null) ? a.next : headB;b = (b != null) ? b.next : headA;ins = a;}return ins;}
}

相关文章:

【无标题】面试题 02.07. 链表相交

面试题 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 方法一&#xff1a;遍历headA&#xff0c;将每个节点add到HashSet中&#xff1b;然后遍历headB&#xf…...

Zotero ubuntu2023安装 关联 ubuntu文献翻译

一、准备下载的软件&#xff1a; Zotero | Downloads 1. Zotero-6.0.26_linux-x86_64.tar.bz2 下面是插件 zotfile-5.1.2-fx.xpi zotero-pdf-translate.xpi jasminum-v0.2.6.xpi 2.2.5 Tampermonkey 4.11.crx 所准备的文件&#xff0c;都已经在这个链接的压缩包下面 …...

Stable Diffusion教程(7) - PS安装AI绘画插件教程

配套教程视频&#xff1a;https://v.douyin.com/Uyux9F6/ 1. 前置条件 安装了stable diffusion 还没安装的从知识库安装 阿超的AI绘画知识库 语雀 安装了ps2023 还没安装的从网盘下载Win版 PS 2023【必须win10、11】.rar官方版下载丨最新版下载丨绿色版下载丨APP下载-12…...

如何学技术

#​如何学习技术​ 今天在学习redis时&#xff0c;看到了一位大佬写的如何学习技术的方法论&#xff0c;个人觉得很不错&#xff0c;这里分享给大家。 --- - 领先一步&#xff1a;保持好奇心 不给自己设限 真正走出舒适区之后&#xff0c;我看到了自己的飞速成长和进步&#…...

【云存储】使用OSS快速搭建个人网盘教程(阿里云)

使用OSS快速搭建个人网盘 一、基础概要1. 主要的存储类型1.1 块存储1.2 文件存储1.3 对象存储 2. 对象存储OSS2.1 存储空间2.2 地域2.3 对象2.4 读写权限2.5 访问域名&#xff08;Endpoint&#xff09;2.6 访问密钥2.7 常用功能&#xff08;1&#xff09;创建存储空间&#xff…...

微信小程序iconfont真机渲染失败

解决方法&#xff1a; 1.将下载的.woff文件在transfonter转为base64&#xff0c; 2.打开网站&#xff0c;导入文件&#xff0c;开启base64按钮&#xff0c;下载转换后的文件 3. 在下载解压后的文件夹中找到stylesheet.css&#xff0c;并复制其中的base64 4. 修改index.wxss文…...

万界星空/推出生产制造执行MES系统/开源MES/免费下载

免费MES系统介绍 什么是MES系统呢&#xff1f;MES系统主要功能就是解决“如何生产”的问题。通过实施MES系统&#xff0c;一站式解决您所困扰的所有生产制作流程问题。 普通的免费MES系统只提供简单的基本功能让客户体验&#xff0c;而万界星空MES系统运用低代码的形式开发&a…...

【VxWorks】Vxworks、QNX、Xenomai、Intime、Sylixos、Ucos等实时操作系统的性能特点

目录 1.VxWorks操作系统 2.QNX操作系统 3.Xenomai操作系统 4.INtime操作系统 5.SylixOS操作系统 5.1.SylixOS官网...

17、YML配置文件及让springboot启动时加载我们自定义的yml配置文件的几种方式

YML配置文件及加载自定义配置文件的几种方式 ★ YAML配置文件 其实本质和.properties文件的是一样的。 Spring Boot默认使用SnakeYml工具来处理YAML配置文件&#xff0c;SnakeYml工具默认就会被spring-boot-starter导入&#xff0c;因此无需开发者做任何额外配置。 YAML本质…...

18、springboot默认的配置文件及导入额外配置文件

springboot默认的配置文件及导入额外配置文件 ★ Spring Boot默认加载的配置文件&#xff1a; (1) 类加载路径&#xff08;resources目录&#xff09;application.properties|yml &#xff08;相当于JAR包内&#xff09;optional: classpath:/ &#xff08;2&#xff09;类加…...

Conda换源(Linux)

目录 一、相关命令 1.添加软件包渠道 2.查看已添加的渠道 3.删除不想要的渠道 4.显示从哪个渠道安装软件包 二、添加其他源 1.添加conda源 2.添加tuna源 3.添加ali源 一、相关命令 1.添加软件包渠道 conda config --add channels conda-forge 2.查看已添加的渠道 …...

【C语言学习】数据类型转换

一、自动类型转换 1.当运算符两边的数据类型不同时&#xff0c;C语言会帮我们将其转换为较大的类型。即将数据转换成表达范围更大的类型。 将前一种类型转换为后一种类型 char --> short --> int --> long --> long long int --> float --> double2.对于…...

深入了解PostgreSQL:高级查询和性能优化技巧

在当今数据驱动的世界中&#xff0c;数据库的性能和查询优化变得尤为重要。 POSTGRESQL作为一种开源的关系型数据库管理系统&#xff0c;在处理大规模数据和复杂查询时表现出色。 但随着数据量和查询复杂性的增加&#xff0c;性能问题可能会显现出来。 本文将深入探讨POSTGR…...

【C#学习笔记】值类型(1)

虽然拥有编程基础的人可以很快地上手C#&#xff0c;但是依然需要学习C#的特性和基础。本系列是本人学习C#的笔记&#xff0c;完全按照微软官方文档编写&#xff0c;但是不适合没有编程基础的人。 文章目录 .NET 体系结构Hello&#xff0c;World类型和变量&#xff08;重要&…...

二十三种设计模式第二十二篇--中介者模式

说到这个模式就有趣了&#xff0c;不知道大家在生活中喷到过中介没&#xff1f;其实中介这个词吧&#xff0c;我也说不上好还是坏&#xff0c;有时候他可以帮助人们更快的达到某个目的&#xff0c;但有的时候吧&#xff0c;这个有贼坑人&#xff0c;相信网络上有各种被中介坑的…...

小研究 - 微服务系统服务依赖发现技术综述(二)

微服务架构得到了广泛的部署与应用, 提升了软件系统开发的效率, 降低了系统更新与维护的成本, 提高了系统的可扩展性. 但微服务变更频繁、异构融合等特点使得微服务故障频发、其故障传播快且影响大, 同时微服务间复杂的调用依赖关系或逻辑依赖关系又使得其故障难以被及时、准确…...

javaee 泛型的上下边界和通配符的使用

下边界 package com.test.generic;import java.util.Collection;public class TestGenericClass {//泛型方法 ? extends E :泛型的限定public static <E> void move(Collection<E> from,Collection<? super E> to){for(E e:from){to.add(e);}}public st…...

【TypeScript】类型声明及应用(二)

【TypeScript】类型声明及应用&#xff08;二&#xff09; 一、前言 TypeScript开发中需要对定义的变量指定类型&#xff0c;目前版本都支持哪些类型&#xff0c;每一个类型都有哪些含义&#xff0c;在这篇文章中&#xff0c;我们将会对其进行总结说明 二、JavaScript基本数据…...

rust from_utf8_lossy怎么使用?

from_utf8_lossy 是Rust标准库中的一个方法&#xff0c;用于将字节序列解码为UTF-8字符串。它的作用是尽可能地将无效的字节序列转换为有效的Unicode字符&#xff0c;以便进行后续处理。 以下是使用 from_utf8_lossy 方法的示例代码&#xff1a; fn main() {let bytes b"…...

#P0997. [NOIP2006普及组] 数列

题目描述 给定一个正整数k(3≤k≤15)k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列&#xff0c;例如&#xff0c;当k3k3时&#xff0c;这个序列是&#xff1a; 1,3,4,9,10,12,13,…1,3,4,9,10,12,13,… &#xff08;该序列实际上就是&…...

Sentry 9.x版本下,除了SSRF,你还需要检查这几个默认配置的安全隐患

Sentry 9.x安全配置深度审计&#xff1a;超越SSRF的全面防护指南 当Sentry成为企业监控体系的核心组件时&#xff0c;它的安全配置往往被简化为"启用报警"和"收集日志"的基础操作。实际上&#xff0c;Sentry 9.x的默认配置中隐藏着多个可能被攻击者利用的安…...

别再一篇篇下载了!用Zotero Connector插件,5分钟搞定知网、Google Scholar等网站的文献批量抓取

科研效率革命&#xff1a;用Zotero Connector实现文献管理的全自动流水线 深夜的实验室里&#xff0c;咖啡杯已经见了底&#xff0c;而电脑屏幕上还开着十几个文献检索页面——这种场景对科研工作者来说再熟悉不过。传统文献收集方式就像用勺子舀干游泳池&#xff0c;而Zotero …...

跨架构虚拟化引擎:UTM在苹果生态中的技术实现与架构解析

跨架构虚拟化引擎&#xff1a;UTM在苹果生态中的技术实现与架构解析 【免费下载链接】UTM Virtual machines for iOS and macOS 项目地址: https://gitcode.com/gh_mirrors/ut/UTM UTM作为基于QEMU的系统模拟器&#xff0c;在iOS和macOS平台上实现了跨架构虚拟化的技术突…...

F3D三维查看器:技术专家视角下的高性能3D渲染解决方案

F3D三维查看器&#xff1a;技术专家视角下的高性能3D渲染解决方案 【免费下载链接】f3d Fast and minimalist 3D viewer. 项目地址: https://gitcode.com/GitHub_Trending/f3/f3d F3D是一个专注于性能和简洁性的开源三维查看器&#xff0c;为开发者和技术用户提供极致的…...

Zynq7000双核实战:手把手教你用VxWorks6.9和WorkBench3.3实现任务绑定CPU

Zynq7000双核实战&#xff1a;手把手教你用VxWorks6.9和WorkBench3.3实现任务绑定CPU 当你第一次拿到ZedBoard开发板时&#xff0c;可能会被它强大的双核Cortex-A9架构吸引&#xff0c;但随之而来的问题是&#xff1a;如何充分利用这两个核心&#xff1f;在嵌入式开发中&#x…...

如何彻底修复Windows 11任务栏和开始菜单崩溃问题:ExplorerPatcher技术深度解析与实战指南

如何彻底修复Windows 11任务栏和开始菜单崩溃问题&#xff1a;ExplorerPatcher技术深度解析与实战指南 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatch…...

番茄小说下载器完整指南:打造个人离线图书馆的终极解决方案

番茄小说下载器完整指南&#xff1a;打造个人离线图书馆的终极解决方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾经在地铁里信号断断续续&#xff0c;想看的章节…...

忍者像素绘卷部署案例:高校AI实验室构建面向本科生的像素艺术实践平台

忍者像素绘卷部署案例&#xff1a;高校AI实验室构建面向本科生的像素艺术实践平台 1. 项目背景与教育价值 在数字艺术教育领域&#xff0c;如何让本科生快速掌握AI辅助创作能力成为教学新课题。某高校AI实验室选择"忍者像素绘卷"作为教学平台&#xff0c;主要基于以…...

突破云端存储壁垒:百度网盘链接解析工具的技术深度解析

突破云端存储壁垒&#xff1a;百度网盘链接解析工具的技术深度解析 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 会话劫持在批量下载中的应用 传统网盘下载面临的核心限制在…...

鸣潮自动化助手终极指南:5分钟掌握高效游戏任务管理

鸣潮自动化助手终极指南&#xff1a;5分钟掌握高效游戏任务管理 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 在《鸣潮》这款开放…...