相交链表-力扣

news2024/11/15 14:04:40

一、题目描述

2e24ed50912d4823822f0263b0e22f4a.png

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 

二、题解 

 注意题目所说的相交,相交节点不只是数值上的相等,而是相交以后两条链变成一条链。

c3e6713c51f8461ab07b8bd0ce6da80b.png

解决改题目,我们可以:

1、先求出两条链表的长度,然后求出长度的差值len;

2、定义两个节点pl、pspl节点始终指向较长的那个链表,ps节点始终指向较短的那个链表,并且一开始,两个节点均指向链表的头节点;

3、让指向较长链表的pl节点先走差值len步,然后pl、ps两个节点一起走,直到两个节点相遇,此时分两种情况:

  • pl = null,即两个链表不相交,返回null
  • pl不为空,则此时pl所指节点正是所求的相交节点

 

三、代码 

    public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode pl = headA;
        ListNode ps = headB;
        int len1 = 0;
        int len2 = 0;
        while(pl != null) {
            len1++;
            pl = pl.next;
        }
        while(ps != null) {
            len2++;
            ps = ps.next;
        }
        pl = headA;
        ps = headB;
        int len = len1-len2;
        if(len < 0) {
            pl = headB;
            ps = headA;
            len = len2-len1;
        }
        while(len!=0) {
            pl = pl.next;
            len--;
        }
        while(pl!=ps) {
            pl = pl.next;
            ps = ps.next;
        }
        if(pl == null) {
            return null;
        }
        return pl;
    }
}

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1133789.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

APP 专项测试之兼容性测试

1、APP 兼容性测试认识 随着 APP 应用范围越来越广&#xff0c;用户群体越来越大&#xff0c;终端设备的型号也越来越多&#xff0c;移动终端碎片化加剧&#xff0c;使得 APP 兼容性测试成为测试质量保障必须要考虑的环节。 APP 兼容性测试通常会考虑&#xff1a;操作系统、厂…

分享从零开始学习网络设备配置--任务4.2 使用IPv6静态及默认路由实现网络连通

任务描述 某公司利用IPv6技术搭建网络&#xff0c;公司3个部门所有PC机连接在同一交换机上&#xff0c;PC1代表行政部划分到VLAN10中&#xff0c;PC2代表财务部划分到VLAN20中&#xff0c;PC3代表销售部划分到VLAN30中&#xff0c;R1代表公司出口路由器&#xff0c;R2模拟Inter…

【深入浅出Docker原理及实战】「原理实战体系」零基础+全方位带你学习探索Docker容器开发实战指南(底层实现系列)

零基础全方位带你学习探索Docker容器开发实战指南&#xff08;底层实现系列&#xff09; Docker简介对比虚拟化技术的优势 底层特性Linux Container&#xff08;LXC&#xff09;底层实现隔离性 Linux namespacepid namespace&#xff08;隔离空间机制&#xff09;net namespace…

Unity的碰撞检测(一)

&#xff08;一&#xff09;测试前准备工作 1.创建两个游戏对象&#xff0c;分别取名为”Player”和”Enemy”&#xff0c;并且为名为”Player”的游戏对象设置Tag也为”Player”&#xff0c;二者在场景中如图1所示&#xff1a; 图 1 绿为Enemy&#xff0c;红为Player 2.编写脚…

合肥中科深谷嵌入式项目实战——人工智能与机械臂(二)

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;订阅本专栏前必读关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明作者&#xff1…

理性推广 | C1N短网址帮您节省运营成本!

今天所讲便是利用短链接“低成本推广”帮你节省隐性成本。 什么是短链接 1.短链接起源 说起短链接起源不得不提到微博&#xff0c;在微博推出后因为有字数限制&#xff0c;一般字数不超过140字&#xff0c;所以微博内容如果发布很长的链接就会占用很多内容&#xff0c;根据这…

OpenCV #以图搜图:感知哈希算法(Perceptual hash algorithm)的原理与实验

1. 介绍 感知哈希算法&#xff08;Perceptual Hash Algorithm&#xff0c;简称pHash&#xff09; 是哈希算法的一种&#xff0c;主要用来做相似图片的搜索工作。 2. 原理 感知哈希算法&#xff08;pHash&#xff09;首先将原图像缩小成一个固定大小的像素图像&#xff0c;然后…

嵌入式算法——傅里叶变换算法

文章引注 https://mp.weixin.qq.com/s/5VIpNWci9YLY3m4gcYd6-w 摘要 傅里叶变换的核心在于&#xff0c;“任何连续周期信号可以由一组适当的正弦曲线组合而成”&#xff0c;在这个基础上对信号的中特定频率的正弦波进行分解或者重组&#xff0c;基于频率方面分析波形。 1、傅…

java _JDBC 开发

目录 一.封装JDBCUtiles 二.事务 三.批处理 四.数据库连接池 C3P0 Druidf(德鲁伊&#xff09;阿里 五.Apache-DBUtiles 六.Apache-DBUtils 七.DAO 和增删改查 通用方法 - BasicDao 一.封装JDBCUtiles 说明&#xff1a;在jdbc操作中&#xff0c;获取连接和释放资源&#…

民宿如何经营与管理?【民宿小程序】

随着旅游业的快速发展&#xff0c;越来越多的人选择经营民宿&#xff0c;将自己的房屋开放给旅客入住。然而&#xff0c;要成功经营一家民宿&#xff0c;并保持良好的运营状态&#xff0c;需要有效的管理和营销策略。在这个过程中&#xff0c;民宿小程序能够发挥重要作用。 民宿…

Python---练习:for循环 求1-100的和/所有偶数的和

案例&#xff1a; 使用for循环&#xff0c;求1 ~ 100的和 之前用while循环&#xff0c;做过算出1--100的和。 相关链接&#xff1a; Python--练习&#xff1a;使用while循环求1..100的和-CSDN博客 结合着看看for循环怎么实现。 思考&#xff1a; 先把for循环的基本语法写…

使用udevil自动挂载U盘或者USB移动硬盘

最近在折腾用树莓派&#xff08;实际上是平替香橙派orangepi zero3&#xff09;搭建共享文件服务器&#xff0c;有一个问题很重要&#xff0c;如何在系统启动时自动挂载USB移动硬盘。 1 使用/etc/fstab 最开始尝试了用/etc/fstab文件下增加:"/dev/sda1 /home/orangepi/s…

Unity 中忽略图片透明度的 Image 组件的修改版本

只需将此组件添加到画布中的空对象即可。请注意&#xff0c;仅支持简单 图像类型。 using System.Collections.Generic; using UnityEngine; using UnityEngine.Sprites; using UnityEngine.UI; #if UNITY_2017_4 || UNITY_2018_2_OR_NEWER using UnityEngine.U2D; #endif#if U…

分类预测 | MATLAB实现SSA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现SSA-CNN-BiGRU-Attention数据分类预测&#xff08;SE注意力机制&#xff09; 目录 分类预测 | MATLAB实现SSA-CNN-BiGRU-Attention数据分类预测&#xff08;SE注意力机制&#xff09;分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLA…

微信小程序如何跳转页面

1.wx.navigateTo&#xff1a;用于跳转到其他页面&#xff0c;并保留当前页面。通过该 API 跳转后&#xff0c;可以通过返回按钮回到原页面。 wx.navigateTo({url: /pages/otherPage/otherPage })2.wx.redirectTo&#xff1a;用于跳转到其他页面&#xff0c;并关闭当前页面。通…

上初三的小伙子做了个windows12网页版

某天逛GitHub突然刷到这个仓库&#xff0c;好奇的点了进去&#xff0c;读完md我懵了&#xff0c;作者才初三&#xff1f;wtf&#xff0c;现在内卷到这个程度了吗&#xff01;而且start还不低有5.2k。 效果展示 新的版本有很多变化&#xff0c;仅供参考&#xff0c;请以实物为准…

SpringBoot 自动配置@EnableAutoConfiguration

自动配置vs自动装配 Spring有两个名字听起来相似的概念&#xff1a;一个是自动装配&#xff0c;一个是自动配置。他们两个只是听起来相似&#xff0c;实际根本不同。自动装配是autowire&#xff0c;自动配置是autoconfiguration&#xff0c;他们之间没有任何关系&#xff0c;概…

ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南

作者&#xff1a;运维有术 前言 知识点 定级&#xff1a;入门级KubeKey 安装部署 ARM 版 KubeSphere 和 KubernetesARM 版 KubeSphere 和 Kubernetes 常见问题 实战服务器配置 (个人云上测试服务器) 主机名IPCPU内存系统盘数据盘用途ks-master-1172.16.33.1661650200KubeSp…

翻页电子相册如何制作?看到就是赚到

在日常生活中&#xff0c;我们拿起手机随手一拍&#xff0c;即可记录美丽瞬间。但随着手机里的照片越来越多&#xff0c;这时该怎么办呢&#xff1f;相信很多小伙伴会选择把照片装订成相册&#xff0c;不过&#xff0c;时间一长也都成了压箱底&#xff0c;无人翻看。但除了这一…

sheng的学习笔记-【中】【吴恩达课后测验】Course 3 - 结构化机器学习项目 - 第一周测验

课程3_第1周_测验题 目录&#xff1a;目录 要解决的问题 ① 这个例子来源于实际项目&#xff0c;但是为了保护机密性&#xff0c;我们会对细节进行保护。 ② 现在你是和平之城的著名研究员&#xff0c;和平之城的人有一个共同的特点&#xff1a;他们害怕鸟类。 ③ 为了保护…