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

LeetCode 热题 HOT 100 (001/100)【宇宙最简单版】

【链表】 No. 0160 相交链表 【简单】👉力扣对应题目指路

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦
欢迎关注、订阅专栏 【力扣详解】谢谢你的支持!

题目描述:两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果不存在相交节点,返回 null 。

  • 图示两个链表在节点 c1 开始相交:

🔥 思路:先尾部对齐,然后逐个比较直至尾部;比较过程中如果发现相同的节点则找到相交节点

  • 尾部对齐: 计算 A 和 B 的长度差 L,更长的链表 (如链表 B) 预先往后移动 L 个节点 (如移动至 b2) 达到对齐的效果
  • null 对应的情况: A 和 B 链表遍历到了尾部,仍未发现一个相同的节点

参考如上思路,给出详细步骤如下:

  • 步骤一⭐定义 列表长度获取函数 get_len 以计算 A 和 B 的长度 len_A=get_len(current_A), len_B=get_len(current_B)
  • 步骤二⭐计算 A 和 B 的长度差 L= abs(len_A-len_B)
  • 步骤三⭐尾部对齐,即更长的链表预先往后移动 L 个节点
  • 步骤四⭐已尾端对齐,开始逐个比较直至链表尾部,中途如果有相同的节点 current_A 则返回
  • 步骤五⭐应对 null 对应的情况:return None
# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = Noneclass Solution(object):def getIntersectionNode(self, headA, headB):""":type head1, head1: ListNode:rtype: ListNode"""# ------------------------------------------------------------ step 1def get_len(head): current = headresult = 0while current:result += 1current = current.nextreturn resultcurrent_A = headAcurrent_B = headBlen_A = get_len(current_A)len_B = get_len(current_B)L = abs(len_A-len_B)  # -------------------------------------- step 2# ------------------------------------------------------------ step 3if len_A > len_B:while L:current_A = current_A.nextL -= 1if len_A < len_B:while L:current_B = current_B.nextL -= 1while current_A:  # ------------------------------------------ step 4if current_A == current_B:return current_Acurrent_A = current_A.nextcurrent_B = current_B.nextreturn None  # ----------------------------------------------- step 5

希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦
欢迎关注、订阅专栏 【力扣详解】谢谢你的支持!
🔥 LeetCode 热题 HOT 100

相关文章:

LeetCode 热题 HOT 100 (001/100)【宇宙最简单版】

【链表】 No. 0160 相交链表 【简单】&#x1f449;力扣对应题目指路 希望对你有帮助呀&#xff01;&#xff01;&#x1f49c;&#x1f49c; 如有更好理解的思路&#xff0c;欢迎大家留言补充 ~ 一起加油叭 &#x1f4a6; 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&#x…...

Ubantu 使用 docker 配置 + 远程部署 + 远程开发

大家好我是苏麟 , Ubantu 一些配置 . 视频 : 服务器很贵&#xff1f;搞台虚拟机玩玩&#xff01;保姆级 Linux 远程开发教程_哔哩哔哩_bilibili Docker安装及配置 安装命令 : sudo apt install docker.io 查看版本号 : docker -v 查看虚拟机地址命令 : ifconfig 虚拟机地址 或…...

应用层自定义协议与序列化

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 协议 简单来说&#xff0c;就是通信双方约定好的结构化的数据。 序列化与反序列化 我们通过一个问题引入这个概念&#xff0c;假如我们要实现一个网络版的计算器&#xff0c;那么现在有两种方案&#xff0c;第一种&#x…...

Python学习笔记—100页Opencv详细讲解教程

目录 1 创建和显示窗口... - 4 - 2 加载显示图片... - 6 - 3 保存图片... - 7 - 4 视频采集... - 8 - 5视频录制... - 11 - 6 控制鼠标... - 12 - 7 TrackBar 控件... - 14 - 8.RGB和BGR颜色空间... - 16 - 9.HSV和HSL和YUV.. - 17 - 10 颜色空间的转化... - 18 - …...

C语言·分支和循环语句(超详细系列·全面总结)

前言&#xff1a;Hello大家好&#x1f618;&#xff0c;我是心跳sy&#xff0c;为了更好地形成一个学习c语言的体系&#xff0c;最近将会更新关于c语言语法基础的知识&#xff0c;今天更新一下分支循环语句的知识点&#xff0c;我们一起来看看吧~ 目录 一、什么是语句&#xf…...

Gateway源码分析:路由Route、断言Predicate、Filter

文章目录 源码总流程图说明GateWayAutoConfigurationDispatcherHandlergetHandler()handleRequestWith()RouteToRequestUrlFilterReactiveLoadBalancerClientFilterNettyRoutingFilter 补充知识适配器模式 详细流程图 源码总流程图 在线总流程图 说明 Gateway的版本使用的是…...

ARM体系结构和接口技术(十)按键中断实验①

一、按键中断实验 &#xff08;一&#xff09;分析按键电路图 &#xff08;二&#xff09;芯片手册 二、按键中断实验分析 注&#xff1a;NVIC----Cortx-M核GIC----Cortx-A核 &#xff08;一&#xff09;查看所有外设的总线以及寄存器基地址 注&#xff1a;GIC的总线是A7核的…...

PostgreSQL使用(二)——插入、更新、删除数据

说明&#xff1a;本文介绍PostgreSQL的DML语言&#xff1b; 插入数据 -- 1.全字段插入&#xff0c;字段名可以省略 insert into tb_student values (1, 张三, 1990-01-01, 88.88);-- 2.部分字段插入&#xff0c;字段名必须写全 insert into tb_student (id, name) values (2,…...

有关css的题目

css样式来源有哪些&#xff1f; 内联样式&#xff1a; <a style"color: red"> </a> 内部样式&#xff1a;<style></style> 外部样式&#xff1a;写在独立的 .css文件中的 浏览器的默认样式 display有哪些属性 none - 不展示 block - 块类型…...

【开源库】libodb库编译及使用

前言 本文介绍windows平台下libodb库的编译及使用。 文末提供libodb-2.4.0编译好的msvc2019_64版本&#xff0c;可直接跳转自取 ODB库学习相关 【开源库学习】libodb库学习&#xff08;一&#xff09; 【开源库学习】libodb库学习&#xff08;二&#xff09; 【开源库学习】…...

电力需求预测挑战赛笔记 Task3 #Datawhale AI 夏令营

上文&#xff1a; 电力需求预测挑战赛笔记 Task2 #Datawhale AI 夏令营-CSDN博客文章浏览阅读80次。【代码】电力需求预测挑战赛笔记 Task2。https://blog.csdn.net/qq_23311271/article/details/140360632 前面我们介绍了如何使用经验模型以及常见的lightgbm决策树模型来解决…...

Promise 详解(原理篇)

目录 什么是 Promise 实现一个 Promise Promise 的声明 解决基本状态 添加 then 方法 解决异步实现 解决链式调用 完成 resolvePromise 函数 解决其他问题 添加 catch 方法 添加 finally 方法 添加 resolve、reject、race、all 等方法 如何验证我们的 Promise 是否…...

动态内存经典笔试题分析

目录 1.题目一 2.题目二 3.题目三 4.题目四 1.题目一 #include<stdlib.h> #include<stdio.h> #include<string.h> void GetMemory(char* p) {p (char*)malloc(100); } void Test(void) {char* str NULL;GetMemory(str);strcpy(str, "hello world…...

JS设计模式(一)单例模式

注释很详细&#xff0c;直接上代码 本文建立在已有JS面向对象基础的前提下&#xff0c;若无&#xff0c;请移步以下博客先行了解 JS面向对象&#xff08;一&#xff09;类与对象写法 特点和用途&#xff1a; 全局访问点&#xff1a;通过单例模式可以在整个应用程序中访问同一个…...

uniapp动态计算并设置元素高度

<template><view><scroll-view id"sv-box" :scroll-y"true" :style"{height:navHeightpx}"></scroll-view><view id"btn-box"><button>取消</button><button>确认</button><…...

直播架构如何设计核心节点和边缘节点

在直播架构中&#xff0c;核心节点和边缘节点的分工及主要服务是确保直播服务稳定、高效和可扩展的关键。以下是对这些节点的详细描述&#xff1a; 核心节点 核心节点通常位于数据中心&#xff0c;负责处理直播的主要逻辑和数据处理。其主要服务包括&#xff1a; 直播管理后…...

自动驾驶-预测概览

通过生成一条路径来预测一个物体的行为&#xff0c;在每一个时间段内&#xff0c;为每一辆汽车重新计算预测他们新生成的路径&#xff0c;这些预测路径为规划阶段做出决策提供了必要信息 预测路径有实时性的要求&#xff0c;预测模块能够学习新的行为。我们可以使用多源的数据…...

基于PSO算法优化PID参数的一些问题

目录 前言 Q1&#xff1a;惯性权重ω如何设置比较好&#xff1f;学习因子C1和C2如何设置&#xff1f; Q2&#xff1a;迭代速度边界设定一定能够遍历&#xff08;/覆盖&#xff09;整个PID参数二维空间范围吗&#xff1f;还是说需要与迭代次数相关&#xff1f;迭代次数越高&a…...

什么是决策树?

1. 什么是决策树&#xff1f; 决策树&#xff08;Decision Tree&#xff09;是一种常用的机器学习算法&#xff0c;用于解决分类和回归问题。它通过构建树结构来表示决策过程&#xff0c;分支节点表示特征选择&#xff0c;叶节点表示类别或回归值。 2. 决策树的组成部分 决策…...

ASP 快速参考

ASP 快速参考 概述 ASP&#xff08;Active Server Pages&#xff09;是一种由微软开发的服务器端脚本环境&#xff0c;用于动态网页设计和开发。它允许开发者创建和运行动态交互性网页&#xff0c;如访问数据库、发送电子邮件等。ASP页面通常以.asp为文件扩展名&#xff0c;并…...

别再只仿真了!手把手教你用LabVIEW+USRP-2920搭建真实无线通信链路(BPSK/QPSK调制实战)

从仿真到实战&#xff1a;LabVIEW与USRP-2920构建无线通信链路的完整指南 在通信工程领域&#xff0c;仿真与硬件实现之间往往存在一道难以逾越的鸿沟。许多工程师能够熟练使用MATLAB或LabVIEW进行通信系统仿真&#xff0c;但当面对USRP-2920这样的射频硬件时&#xff0c;却常常…...

互联网大厂 Java 面试实战:一次“高并发系统追问”下的真实对话

在大多数 Java 面试中&#xff0c;真正拉开差距的从来不是“你会多少知识点”&#xff0c;而是当系统出现问题时&#xff0c;你是否知道该怎么扛。很多候选人熟悉各种八股文&#xff0c;但一旦进入场景题就会卡住。下面通过一场更贴近真实大厂风格的面试&#xff0c;对话式还原…...

JiYuTrainer:极域电子教室多任务学习解决方案 - 提升教学环境下的自主操作能力

JiYuTrainer&#xff1a;极域电子教室多任务学习解决方案 - 提升教学环境下的自主操作能力 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 在现代数字化教学环境中&#xff0c;极…...

OpenClaw任务监控:GLM-4.7-Flash执行状态可视化方案

OpenClaw任务监控&#xff1a;GLM-4.7-Flash执行状态可视化方案 1. 为什么需要任务监控&#xff1f; 去年冬天的一个深夜&#xff0c;我被手机警报惊醒——OpenClaw正在执行的周报生成任务已经连续失败了三次。打开电脑检查日志时才发现&#xff0c;原来是本地部署的GLM-4.7-…...

VSCode党必看!用轻量级方案玩转LaTeX:2024年TexLive+VSCode配置全攻略

VSCode党必看&#xff01;用轻量级方案玩转LaTeX&#xff1a;2024年TexLiveVSCode配置全攻略 对于习惯在VSCode中高效编码的开发者而言&#xff0c;切换到传统LaTeX编辑器往往意味着要放弃熟悉的快捷键、扩展生态和流畅的代码体验。本文将带你用完全基于VSCode的轻量级方案构建…...

HP-Socket版本发布后用户反馈分析:情感、主题与趋势

HP-Socket版本发布后用户反馈分析&#xff1a;情感、主题与趋势 【免费下载链接】HP-Socket High Performance TCP/UDP/HTTP Communication Component 项目地址: https://gitcode.com/gh_mirrors/hp/HP-Socket HP-Socket作为一款高性能TCP/UDP/HTTP通信组件&#xff0c;…...

ffmpegGUI:让FFmpeg视频处理技术大众化的跨平台图形界面工具

ffmpegGUI&#xff1a;让FFmpeg视频处理技术大众化的跨平台图形界面工具 【免费下载链接】ffmpegGUI ffmpeg GUI 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpegGUI ffmpegGUI是一款基于FFmpeg核心技术开发的跨平台图形界面工具&#xff0c;旨在消除视频处理的技术…...

GB28181实战:Windows环境下WVP-GB28181部署全攻略

1. Windows环境下WVP-GB28181部署全攻略 如果你正在寻找一个在Windows系统上快速搭建GB28181视频监控平台的方法&#xff0c;那么WVP-GB28181绝对是个不错的选择。作为一个开源的视频监控平台&#xff0c;WVP-GB28181支持国标GB/T28181协议&#xff0c;能够帮助你轻松实现视频设…...

Kali实战:CTF杂项题必备工具全解析

1. Kali Linux与CTF杂项题简介 第一次参加CTF比赛时&#xff0c;面对五花八门的杂项题完全无从下手。直到发现Kali Linux这个"瑞士军刀"&#xff0c;才真正打开了解题新世界。Kali Linux预装了300安全工具&#xff0c;其中约20%专门用于处理隐写术、文件分析等杂项题…...

告别手动调参!模糊PID如何让直流电机在负载突变时稳如泰山?

模糊PID控制&#xff1a;让直流电机在负载突变时稳如泰山的实战指南 引言&#xff1a;工业自动化中的电机控制痛点 在自动化产线上&#xff0c;直流电机突然遭遇负载变化时&#xff0c;你是否也经历过这样的场景&#xff1f;——机械臂正在精准抓取工件&#xff0c;突然因为物料…...