稀碎从零算法笔记Day19-LeetCode:相交链表
题型:链表基本操作
链接:160. 相交链表 - 力扣(LeetCode)
来源:LeetCode
题目描述
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
图示两个链表在节点 c1 开始相交:

题目数据 保证 整个链式结构中不存在环。
注意,函数返回结果后,链表必须 保持其原始结构 。
题目样例
笔者这边为了方便理解,省略了原本的大部分文字描述。有需求的可以看原文链接
示例 1:

示例 2:

示例 3:

1 <= m, n <= 3 * 1041 <= Node.val <= 105
题目思路
因为样例图自动【右端对齐】了,于是脑子抽掉,居然想直接遍历两个链表,如果指针相同就可以直接rt;
虽然被样图 ”误导“,但提前【右端对齐】的思路可以实现:①遍历链表获得两个链表的长度(为了方便理解以及实现,可领 listA 为长链表,这样 lena 的长度自然要大于 lenb 了),让 listA 提前跑lena-lenb个距离,这样就实现了两个链表的右端对齐,进而可以使用上面的思路了
C++代码
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {// 规定:链表A长度 > 链表B的长度ListNode *pa=headA,*pb=headB;int lena=0,lenb=0;while(pa != NULL){lena++;pa=pa->next;}while(pb != NULL){lenb++;pb=pb->next;}// 保证A链表一定是长链表,方便后续操作if(lena<lenb){swap(lena,lenb);swap(headA,headB);}pa=headA,pb=headB;for(int i=0;i<lena-lenb;i++){pa=pa->next;}while(pa !=NULL && pb!=NULL){if(pa==pb)return pa;pa = pa->next;pb = pb->next;}return NULL;}
};
结算页面

相关文章:
稀碎从零算法笔记Day19-LeetCode:相交链表
题型:链表基本操作 链接:160. 相交链表 - 力扣(LeetCode) 来源:LeetCode 题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&…...
AI系统性学习03—ChatGPT开发教程
文章目录 1、OpenAI关键概念⭐️2、OpenAI SDK介绍3、OpenAI API KEY&API 认证3.1 REST API安全认证 4、OpenAI模型⭐️4.1 模型分类4.2 GPT44.3 GPT-3.54.4 Embeddings 5、OpenAI快速入门6、Function calling(函数调用)⭐️⭐️⭐️6.1 应用场景6.2 支持function calling的…...
每日一练 | 华为认证真题练习Day201
1、BGP Notification报文Error Code为2时表示open消息错误,其中包含如下哪些错误子码?(多选) A. 1-不支持的版本号 B. 2-错误的对等体AS号 C. 2-错误的对等体AS号 D. 4-错误的属性列表 2、A greate命令(aggregate ipy4-addre…...
nginx日志统计qps
1.QPS QPS全称为Queries Per Second,即每秒钟处理的请求数量。对于一个高并发应用来说,QPS是非常重要的性能指标,它反映了应用处理请求的能力。在实际应用中,QPS的大小取决于应用的负载和应用本身的性能。 QPS req/sec 请求数/…...
9.登入页面
登入页面 在pages中新建页面login 修改代码 <template><view></view> </template><script setup></script><style lang"scss"></style>添加头像组件 官网 https://vkuviewdoc.fsq.pub/components/avatar.html …...
js封装SDK 在VUE、小程序、公众号直接调用js调用后端接口(本文以vue项目为例)
1.封装一个js文件msgSdk.js 注意:需要修改这个请求地址 apiServiceAddress ;(function () {if (window.msgSdk) {return}var msgSdk (function () {var m_msgSdk thisvar apiServiceAddress"http://172.12.14.5:8000"this.I_SendHTTPRequest functi…...
ideaSSM社区二手交易平台C2C模式开发mysql数据库web结构java编程计算机网页源码maven项目
一、源码特点 idea ssm 社区二手交易平台系统是一套完善的完整信息管理系统,结合SSM框架完成本系统SpringMVC spring mybatis ,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码…...
利用子类化技术拦截win32窗口各种消息(包括但不限于鼠标键盘消息)
创建子类化函数: 首先,您需要编写一个子类化函数,该函数将用于处理编辑框的消息。这个函数通常会拦截并处理您感兴趣的消息,比如鼠标消息。 子类化编辑框: 在窗口程序中找到编辑框的句柄(HWND)…...
HCIP—OSPF课后练习一
本实验模拟了一个企业网络场景,R1、R2、R3为公司总部网络的路由器,R4、R5分别为企业分支机构1和分支机构2的路由器,并且都采用双上行方式与企业总部相连。整个网络都运行OSPF协议,R1、R2、R3之间的链路位于区域0,R4与R…...
Android 13.0 kenel和frameworks中修改ram运行内存的功能实现
1.前言 在13.0的系统rom产品开发定制中,在对一些产品开发中的配置需求方面,在产品后续订单中,产品提出要提高硬件配置,但是硬件方面已经定板,项目时间比较仓促,所以 来不及对硬件重新定制,就需要软件方面在ram运行内存的容量大小方面作假,修改ram真实的大小容量,所以…...
如何将应用程序发布到 App Store
憧憬blog主页 在强者的眼中,没有最好,只有更好。我们是移动开发领域的优质创作者,同时也是阿里云专家博主。 ✨ 关注我们的主页,探索iOS开发的无限可能! 🔥我们与您分享最新的技术洞察和实战经验࿰…...
Python进程与线程开发
目录 multiprocessing模块 线程的开发 threading模块 setDaemon 死锁 线程间的通信 multiprocessing模块 运行python的时候,我们都是在创建并运行一个进程,(linux中一个进程可以fork一个子进程,并让这个子进程exec另外一个程序)。在pyt…...
【3DsMax】UVW展开——以制作牙膏盒为例
效果 步骤 1. 从网上下载牙膏盒贴图,我下载的贴图地址为(牙膏盒贴图链接) 2. 打开3DsMax,创建一个长方体,设置长宽高分别为180、45、40毫米 打开材质编辑器,点击漫反射后的按钮 双击“位图” 将材质赋予长…...
Mysql数据库概念与安装
目录 一、数据库概述 1、数据库的基本概念 2、数据库管理系统(DBMS) 2.1 数据库管理系统概念 2.2 数据库管理系统工作模式 3、数据库系统(DBS) 3.1 数据库系统概念 3.2 数据库系统发展史 4、关系型数据库与非关系型数据库…...
【Java - 框架 - SpringMVC】(01) SpringMVC框架的简单创建与使用,快速上手
"SpringMVC"框架的简单创建与使用,快速上手; 环境 Java版本"1.8.0_202";Spring Boot版本"2.5.9";Windows 11 专业版_22621.2428;IntelliJ IDEA 2021.1.3(Ultimate Edition)࿱…...
框架篇常见面试题
1、Spring框架的单例bean是线程安全的吗? 2、什么是AOP? 3、Spring的事务是如何实现的? 4、Spring事务失效的场景 5、SpringBean的声明周期 6、Spring的循环依赖 7、SpringMVC的执行流程 8、SpringBoot自动配置原理 9、Spring常见注解 10、My…...
【刷题】滑动窗口入门
送给大家一句话: 那脑袋里的智慧,就像打火石里的火花一样,不去打它是不肯出来的。——莎士比亚 滑动窗口入门 认识滑动窗口Leetcode 209. 长度最小的子数组题目描述算法思路 Leetcode 3. 无重复字符的最长子串题目描述算法思路 Leetcode 1004…...
【Python 48小时速成 3】输入与输出
在 Python 中,输入和输出通常通过内置函数来实现。主要的输入函数是 input(),用于从用户获取输入,而输出函数则是 print(),用于将结果打印到控制台。以下是简单的代码示例演示了输入和输出: # 输入示例 name input(&…...
API开发小红书接口获得小红书笔记详情API接口请求接入演示
为了使用小红书的API接口获取笔记详情,你需要遵循以下步骤: 注册并登录开放平台,创建一个应用并获取App Key和App Secret。 使用App Key和App Secret获取访问令牌(Access Token)。 使用访问令牌(Access T…...
Python条件语句深度解析:从基础到应用的全面指南
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 一、引言 📝 二、…...
嵌入式开发者的Git避坑指南:如何优雅地管理Keil μVision5工程?
嵌入式开发者的Git避坑指南:如何优雅地管理Keil μVision5工程? 在嵌入式开发领域,版本控制是团队协作和项目管理的基石。然而,Keil μVision5工程的特殊性常常让开发者陷入Git使用的误区——要么仓库体积膨胀到难以维护ÿ…...
如何高效解析通达信二进制数据:mootdx实战指南
如何高效解析通达信二进制数据:mootdx实战指南 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 当您需要从通达信获取股票行情数据进行分析时,是否曾面临数据格式复杂、解析…...
【AGI发展里程碑】:SITS2026官方路线图深度解码——5大技术跃迁节点与3年落地时间表
第一章:SITS2026发布:AGI发展路线图 2026奇点智能技术大会(https://ml-summit.org) SITS2026正式发布了《通用人工智能发展路线图(2026–2035)》,标志着AGI研发从碎片化工程实践转向系统性科学治理。该路线图由全球4…...
终极指南:5分钟掌握ViGEmBus虚拟游戏控制器驱动完整安装与使用
终极指南:5分钟掌握ViGEmBus虚拟游戏控制器驱动完整安装与使用 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想要在Windows系统上解决游戏控制…...
Unity项目避坑指南:从零配置Plastic SCM到多人协作(含YAML合并工具设置)
Unity项目避坑指南:从零配置Plastic SCM到多人协作(含YAML合并工具设置) 第一次接触Plastic SCM的Unity开发者,往往会在配置过程中踩遍所有能想到的坑。从安装路径的选择到YAML合并工具的配置,每一步都可能隐藏着让项…...
终极免费手机号码定位工具:一键查询电话号码地理位置
终极免费手机号码定位工具:一键查询电话号码地理位置 【免费下载链接】location-to-phone-number This a project to search a location of a specified phone number, and locate the map to the phone number location. 项目地址: https://gitcode.com/gh_mirro…...
别再写复杂SQL了!用MongoDB聚合管道搞定电商订单数据分析(实战篇)
电商订单分析新范式:MongoDB聚合管道实战指南 当我们需要从海量订单数据中挖掘用户行为规律时,传统SQL的GROUP BY往往显得力不从心。想象这样一个场景:你的电商平台每天新增数十万订单,管理层需要实时掌握每个用户的消费特征——他…...
如何快速下载Steam游戏清单:Onekey一键获取Depot Manifest完整指南
如何快速下载Steam游戏清单:Onekey一键获取Depot Manifest完整指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey Onekey是一款专为Steam平台设计的Depot Manifest下载器࿰…...
Gemma-3-12B-IT精彩案例分享:从初学者提问到完整函数实现的全过程
Gemma-3-12B-IT精彩案例分享:从初学者提问到完整函数实现的全过程 1. 引言:为什么这个案例值得一看? 如果你正在寻找一个能真正帮你写代码、解答疑惑的AI助手,那么今天分享的这个案例可能会让你眼前一亮。我们不是要讲空洞的理论…...
HunyuanVideo-Foley镜像免配置:彻底告别torch版本冲突与依赖地狱
HunyuanVideo-Foley镜像免配置:彻底告别torch版本冲突与依赖地狱 1. 镜像概述与核心优势 HunyuanVideo-Foley私有部署镜像是一款专为视频生成与音效生成任务深度优化的解决方案。基于RTX 4090D 24GB显存和CUDA 12.4环境构建,它彻底解决了AI开发者最头疼…...
