剑指offer52:两个链表的第一个公共节点

GD32测量pwm波频率以及占空比 1、需求 最近做的一个项目,其中有一个传感器输出是pwm波形,频率代表速度,频率越高速度越快。不同的占空比代表不同的故障类型。占空比10%~90%,频率范围20hz ~1khz。 基于以上的需求,单片机要实现两个功能: 1、测量频率 2、测量占空比 这怎么玩呢?从没搞过啊。 2、需求分析 经过查找资料以及参考正点原子的教程,发现单片机的定时器的输入捕获功能能够实现该功能。 2.1分析 如上图所示,测量占空比和测量频率实际上就是测量波形的长度。 对于占空比,就是测量T2与T1时刻的差值 对于频率,就是测量T 阅读详情

剑指offer52:两个链表的第一个公共节点

1、题目

剑指offer52:两个链表的第一个公共节点

输入两个链表,找出它们的第一个公共节点。

2、代码

class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode A = headA;//指针A,先遍历A链表,再遍历B链表,直到走到第一个公共节点与B指针相遇,A指针步数为a+(b-c)
        ListNode B = headB;//指针B,先遍历B链表,再遍历A链表,直到走到第一个公共节点与A指针相遇,B指针步数为b+(a-c)

        //相遇原理:A指针和B指针按以上走到第一个公共节点时,均走a+b-c步。

        while (A != B){
            A = (A!=null) ? A.next : headB;
            B = (B!=null) ? B.next : headA;
        }

        return A;
    }
}

3、随笔

3.1、测试代码

public static void main(String[] args) {
        ListNode headA = new ListNode(4);
        ListNode firstNodeA = new ListNode(1);
        ListNode secondNodeA = new ListNode(8);
        ListNode thirdNodeA = new ListNode(4);
        ListNode fourthNodeA = new ListNode(5);

        headA.next = firstNodeA;
        firstNodeA.next = secondNodeA;
        secondNodeA.next = thirdNodeA;
        thirdNodeA.next = fourthNodeA;
        fourthNodeA.next = null;

    
        ListNode headB = new ListNode(5);
        ListNode firstNodeB = new ListNode(0);
        ListNode secondNodeB = new ListNode(1);

        headB.next = firstNodeB;
        firstNodeB.next = secondNodeB;
        secondNodeB.next = secondNodeA;
        
    
        ListNode result = getIntersectionNode(headA,headB);
        System.out.println("result.val = " + result.val);
    }
以 DeleteRestrictions 与 inlineDelete 为核心的 Fiori Elements 表格删除机制全解 SAP Fiori elements 中删除操作的设计与实现涉及多维度考量。框架默认依据 OData 元数据判断删除能力,通过 DeleteRestrictions 注解实现行级条件控制(deletable-path)。表格支持两种删除模式:工具栏集中删除与响应式表格行内删除,但二者不建议混用。关键约束包括:行内删除仅适用于 Responsive Table,且与多选功能互斥。配置需遵循三层架构:后端能力注解、前端表格形态和运行时交互。设计上强调禁用优于隐藏的可用性原则,并需保持列表页与对象页的删除体验一致 阅读详情

相关推荐

IDM更改下载路径的详细指南

Internet Download Manager(IDM)是一款功能全面的下载加速工具,它支持多种浏览器和协议,能够显著提升下载速度,同时提供断点续传、多线程下载等实用功能。IDM的用户界面简洁明了,操作便捷,使得用户能够轻松管理下载任务。此外,IDM还支持自动分类下载文件、定时下载等高级功能,进一步提升了用户的下载体验。通过本文的介绍,相信用户已经掌握了如何在IDM中更改下载路径的方法。这一功能不仅提升了下载效率和文件管理便捷性,还满足了用户的个性化需求。

nntxthml的博客 1762

剑指 Offer 52. 两个链表的第一个公共节点

剑指 Offer 52. 两个链表的第一个公共节点题目描述代码实现 题目描述 输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 在节点 c1 开始相交。 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n)O(n)O(n) 时间复杂度,且仅用O(1)O(1)O(1) 内存。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/liang-ge-l

GridWorker 147

Android息屏后台任务保活实战:从定时器失效到厂商白名单破解

本文深入探讨了Android应用在息屏后定时任务失效的根源,即系统为省电而触发的休眠机制。文章提供了从传统方案失效分析到实战破解的完整路径,核心在于引导用户将应用加入电池优化白名单并开启自启动权限,从而合法绕过限制。同时,结合WorkManager、AlarmManager等可靠定时方案,实现稳定的后台任务执行。

weixin_28475533的博客 422

剑指offer52. 两个链表第一个公共节点 P253

剑指offer52. 两个链表第一个公共节点 P253 题目:输入两个链表,找出它们的第一个公共结点。 统计两个链表的长度差sub,长的先走sub步,第二次遍历看两个工作指针是不是相等 int getLength(ListNode *head) { // 统计链表长度 if (head == NULL) return 0; int count = 0; ListNode *p = he...

lonelyVM的博客 228

(SCADA)监控与数据采集系统

SCADA应用于监控和采集数据来控制工业过程软件。它通过收集和传输实时数据,帮助操作员监视和控制各种设备和过程。

软件技术的专栏 4543

一、Abaqus CAE 入门操作(薄膜应力计算)

一、Abaqus CAE 入门操作(薄膜应力计算)

A20802013的博客 4370

剑指offer52:两个链表的第一个公共节点 python

剑指offer52:两个链表的第一个公共节点 python题目描述解法 题目描述 解法 该题思考的是,如果一个指针把这首先走一遍链表A再走一遍链表B,另一个指针首先走一遍链表B再走一遍链表A,如果两个指针同时出发,那么他们一定会在两个链表相接处相遇(因为两个指针都走了M+N步,其中M是链表A的总长度,N是链表B单独的那部分的长度(不包含两者相接的部分))。 这时候如果没看明白的话,可以自己在纸上画一下~~ 那如果两个链表根本不相交呢?那我们可以认为他们是在null节点相交的呀~ 代码如下: class S

weixin_43494312的博客 339

Transformer在CV里太耗算力?手把手拆解Restormer的MDTA与GDFN模块

本文深度解析了CVPR2022最佳论文提名作品Restormer的创新模块MDTA与GDFN,有效解决了Transformer在计算机视觉领域的高计算复杂度问题。通过通道注意力降维和门控前馈网络设计,Restormer在图像恢复重建任务中显著降低计算量,同时保持高性能,为实时图像处理提供了可行方案。

weixin_30258901的博客 445

剑指offer面试题52(java版):两个链表的第一个公共节点

welcome to my blog 剑指offer面试题52(java版):两个链表的第一个公共节点 题目描述 输入两个链表,找出它们的第一个公共结点 思路 两个节点相等,是指针指向的引用相等,不仅仅是节点的值相等 比较容易想到的是从后往前比,找到最后一个相同的节点,缺点是需要辅助空间 书上给的思路更好,从前往后比,不需要辅助空间 先找出两个链表的长度m,n 不妨假设m>n, 先让第一...

littlehaes的博客 500

家人们,谁懂啊,dify又报错了:[models] Bad Request Error, 500 Server Error:Internal Server Error for url: http://

本来今天下班,坐在地铁上,一身劳累。一起上班的小兄弟儿,突然甩来一张截图:老大!dify又报错了。没办法,一到家就打开电脑,开始排查。

xiezhipu的博客 882

FPGA入门200例(17):如何阅读RTL原理图(Schematic)?将Verilog代码与门级电路对应

本文针对FPGA开发新手常见误区,重点讲解了RTL原理图的重要性和阅读方法。文章指出,仅通过仿真验证代码会导致板级测试异常,而RTL原理图能直观呈现Verilog代码对应的硬件结构(门电路、寄存器、多路选择器等)。通过"识别基础元件→跟踪信号路径→验证逻辑关系"的三步法,新手可以建立代码与硬件的映射思维,排查冗余逻辑、意外锁存器等错误。文章还结合Vivado/Quartus工具操作指南和典型代码案例,帮助读者掌握从代码到硬件实现的转换过程,避免混淆RTL与门级原理图、忽略信号位宽等常见误

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 199

剑指 Offer 52. 两个链表的第一个公共节点(浪漫相遇法+多解)

一、题目 剑指 Offer 52. 两个链表的第一个公共节点 题目描述 输入两个链表,找出它们的第一个公共节点。 示例1: 输入: A=[4,1,8,4,5] B=[5,0,1,8,4,5] 输出: 8 示例2: 输入: A=[4,1,8] B=[5,0,1] 输出: NULL 二、分析 1.方法1:消除差距法 两个链表相交之后,后面都是一样的,需要找第一个公共节点。 但是他们的第一个公共节点在哪儿呢。我们通过两个链表的长度之差,定位到长链表的遍历起始地方。 此举消除了起始位置差,保证了两个链

qq_44850917的博客 720

SAP ABAP 如何实现物料主数据接口的增量传输机制?

如何实现物料主数据接口的增量传输机制?我在各客户系统中看到了五花八门的实现方式,即使是 IBM 实施的开发质量也并没有保证。其实这是一个很简单的问题,下面以物料主数据接口为例子,介绍 SAP 中更改文档对象的接口数据增量传输机制。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 1316

剑指Offer-52两个链表的第一个公共节点

if (headA == null || headB == null) { return null; } // 双指针 消除两个链表的长度差 ListNode pA = headA; ListNode pB = headB; // 直到A、B相遇 while (pA != pB){ // A先自己遍历完 // 然后A就变成了B 继续遍历 if(pA == null){ pA = headB; }else{ pA = pA.next; .

何大大的秘密基地 131

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

剑指 offer 52 两个链表的第一个公共节点

剑指 offer 52 两个链表的第一个公共节点 哈希Set01 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution {

zone的博客 95

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

剑指 Offer 52.两个链表的第一个公共节点

剑指 Offer 52.两个链表的第一个公共节点 集合法:将链表A存入集合中,然后遍历B,找到第一个包含在集合中的节点。 长链表先行法:统计两个链表的个数,让长的链表先走,等到长链表走到跟短链表长度相同时,两个链表同时出发,判断两个节点是否相等,相等即可返回该节点。 双指针法:A、B同时出发,当A到达末尾(空节点)时,就让A回到B的头结点继续走,同样的,B到达末尾时,就回到A的头结点继续走,这样A和B在到达公共节点时走过了相同的步数,A、B就同步了,当A=B时即可(可能是公共节点或者空节点)。 publi

fine123455的博客 118

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

剑指offer | 面试题52:两个链表的第一个公共节点

转载本文章请标明作者和出处 本文出自《Darwin的程序空间》 本文题目和部分解题思路来源自《剑指offer》第二版 开始行动,你已经成功一半了,献给正在奋斗的我们 题目 输入两个链表,找出它们的第一个公共节点; 如下,第一个公共节点为节点6; 解题分析 首先以图示例,图中有两个链表相交与节点6,问公共节点是什么? 这道题第一个我的想法是使用哈希表(HashMap)来解决,我们可以首先找一...

程序员大航子 1万+
上一篇: 剑指offer24:反转链表
下一篇: 剑指offer35:复杂链表的复制
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值