leetcode-每日一题-1669-合并两个链表(中等,链表操作)

news2025/1/10 16:49:41
这道题就是考察对链表的理解,但是题目给的链表和我们数据结构学的还是有点不一样的,这里面的头节点是带节点信息的,我们按照课本来说的话头节点,或者叫首元节点如果我记得不错的话就是叫这个,是不提供节点信息的,只是提供一些比如该链表总共带了多少节点这样的数目信息,所以我们只需要打表一下就可以看出其中的弊端,如果自己写过c语言的课设那么就很简单了。
给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。
请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。
下图中蓝色边和节点展示了操作后的结果:
请你返回结果链表的头指针。

示例 1:
输入:list1 = [0,1,2,3,4,5], a = 3, b = 4, list2 = [1000000,1000001,1000002]
输出:[0,1,2,1000000,1000001,1000002,5]
解释:我们删除 list1 中下标为 3 和 4 的两个节点,并将 list2 接在该位置。上图中蓝色的边和节点为答案链表。
示例 2:
输入:list1 = [0,1,2,3,4,5,6], a = 2, b = 5, list2 = [1000000,1000001,1000002,1000003,1000004]
输出:[0,1,1000000,1000001,1000002,1000003,1000004,6]
解释:上图中蓝色的边和节点为答案链表。

提示:
3 <= list1.length <= 104
1 <= a <= b < list1.length - 1
1 <= list2.length <= 104
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* mergeInBetween(struct ListNode* list1, int a, int b, struct ListNode* list2){
    struct ListNode  *s,*q,*r;
    s=(struct ListNode*)malloc(sizeof(struct ListNode));
    q=(struct ListNode*)malloc(sizeof(struct ListNode));
    r=(struct ListNode*)malloc(sizeof(struct ListNode));
    s=list2;
    q=list1;
    r=list1;
    while(s->next!=NULL)
    {
        s=s->next;
    }
    int i=0;
    while(i<a-1)
    {
        q=q->next;
        i++;
    }
    i=0;
    while(i<b+1)
    {
        r=r->next;
        i++;
    }
    q->next=list2;
    s->next=r;
    return list1;
}

我们只需要将两个链表的节点接在一起即可,不需要浪费多余空间了

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

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

相关文章

[数字媒体] PR视频剪辑之自定义音频、视频加速转场和特显停顿

这篇博客是作者数字媒体系列的笔记&#xff0c;仅作为在线笔记供大家学习。在剪辑视频中&#xff0c;我们会遇到自定义音频、视频加速转场、特显停顿、画面调整等技巧&#xff0c;这篇文章将详细介绍。希望对您有所帮助&#xff0c;后续有时间会深入分享视频制作、动画制作等内…

结合淘宝与Twitter详解分布式系统与其架构设计,分布式其实并不难,阿里架构师用实战给讲明白了!

什么是分布式架构 分布式系统&#xff08;distributed system&#xff09; 是建立在网络之上的软件系统。 内聚性&#xff1a;是指每一个数据库分布节点高度自治&#xff0c;有本地的数据库管理系统。 透明性&#xff1a;是指每一个数据库分布节点对用户的应用来说都是透明的…

手把手教你如何从0到1开发自动化测试框架,你确定不看?

目录 一、序言 二、自动化测试框架技术选型 三、自动化测试框架的设计思路 四、自动化框架介绍 五、框架技术要点解析 六、后续TODO 一、序言 随着项目版本的快速迭代、APP测试有以下几个特点&#xff1a; 首先&#xff0c;功能点多且细&#xff0c;测试工作量大&#x…

Redis基本通用命令

通用命令 查看使用文档&#xff0c;例如要查看select怎么使用 help select切换数据库 select 1查看符合模板的所有key keys * keys *a keys a*判断key是否存在 exists k1给key设置有效期&#xff0c;给k1设置20秒有效期 expire k1 20查看key剩余有效期&#xff0c;查看k1…

2014年408算法题

文章目录0 结果1 题目2 思路0 结果 1 题目 2 思路 二叉树的带权路径长度&#xff08;WPL&#xff09;的计算方法有两种&#xff1a; 1&#xff0c;定义&#xff1a;WPL所有叶结点的权值Wi∗该结点深度Di求和WPL所有叶结点的权值W_i*该结点深度D_i求和WPL所有叶结点的权值Wi​…

linux环境minio安装启动,管理员登录,nginx代理

一.下载minio 官网下载: MinIO | Code and downloads to create high performance object storage 直接点击下载或者用wget https://dl.min.io/server/minio/release/linux-amd64/minio 最后都是得到一个文件minio(大概100M) 二.启动minio 1.创建文件夹,比如 mkdir /data…

mysql的redolog、undolog、binlog介绍,及mysql两阶段提交

https://blog.csdn.net/weixin_45676738/article/details/124770085 https://blog.csdn.net/TABE_/article/details/124935324 三种log REDO LOG 称为 重做日志 &#xff0c;提供再写入操作&#xff0c;恢复提交事务修改的页操作&#xff0c;用来保证事务的持久性。 UNDO LOG 称…

电源管理系统的功能和发展前景分析

电源对于电子设备的重要性不言而喻&#xff0c;电源管理系统是将电源有效分配给系统中的不同组成&#xff0c;在电子设备中起到了电能变换、控制、检测等作用&#xff0c;保证系统的稳定运行&#xff0c;对设备的性能有着直接影响&#xff0c;广泛用在工业、新能源、机器设备、…

一、初识 Spring 框架

文章目录一、Spring 简介二、Spring 框架的优点三、Spring 框架的组成四、Spring 框架 学习路线一、Spring 简介 Spring 框架简介 2004年3月24日发布了Spring 1.0正式版&#xff0c;Spring 框架的诞生给整个软件行业带来了春天。这个框架极大程度上简化了开发&#xff0c;其本…

基于无人机和背负式激光雷达点云的黄河三角洲刺槐林地上生物量估算

论文标题&#xff1a;Estimation of aboveground biomass of Robinia pseudoacacia forest in the Yellow River Delta based on UAV and Backpack LiDAR point clouds ABSTRACT 人工林是陆地碳汇的重要来源。黄河三角洲刺槐林是我国最大的人工生态防护林。然而&#xff0c;自…

“深度学习”学习日记。与学习有关的技巧--超参数的验证

2023.1.31 超参数是指神经网络中&#xff0c;神经元的数量、batch的大小、参数更新时的学习率或权值衰减等&#xff0c;虽然超参数的取值非常重要&#xff0c;但是决定超参数的值时会伴随很多人工的试错&#xff0c;所以我们需要高效地寻找超参数的值的方法 一&#xff0c;验…

【4】【Spring】,【Ioc/DI】,【IoC容器】,【Bean】

1、Ioc/DI,IoC容器&#xff0c;Bean 为了解决不同实现方式耦合度高 Ioc&#xff1a;&#xff08;Inversion of Control&#xff09;控制反转 主要思想&#xff1a;使用对象时&#xff0c;由主动new产生对象转换为由外部提供对象&#xff0c;此过程中对象创建控制权由程序转移…

vite打包静态文件打开显示空白

vite 打包生成静态文件打开显示空白 需求场景 本地调试访问打包的文件看是否有啥问题&#xff0c;方便定位线上问题安卓手机需要去直接访问静态文件&#xff0c;而不是访问域名的情况 vite 打包生成的文件如果直接放在服务器中是可以正常访问的&#xff0c;但是本地直接访问…

三个方面使CRM在360度客户视图中受益

360度客户视图这个词相信您不会陌生&#xff0c;很多关于CRM客户管理系统的文章中都有所提及。所谓的360度客户视图&#xff0c;是帮助企业和业务人员建立客户认知&#xff0c;消除客户生命周期中的信息脱节&#xff0c;让业务人员为客户提供一致性的体验。接下来我们们说&…

Windows10神州网信版的安装

在大约20天里面我完成了Windows10神州网信版72台的安装&#xff0c;有些2009&#xff5e;2014年的计算机完成安装后做一般的办公应用也能流畅运行。买一台新的计算机至少要好几千&#xff0c;通过更换固态硬盘和内存条可以达到旧物新用的目的。 一、安装过程   1、检查硬件  …

Coggle 30 Days of ML(23年1月)打卡

前言 任务链接 这个任务内容比较感兴趣而且和工作内容相关&#xff0c;学习一下打个卡。 编码完成任务1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;6&#xff0c;目前手上只有2080&#xff0c;之后在3090上跑。 最近杂事多&#xff0c;笔记、任务4和7之后再补充。 …

vue前端框架课程笔记(五)

目录非文件组件使用步骤定义组件示例&#xff08;第一部分&#xff09;&#xff1a;使用Vue.extend函数创建三个组件注册组件示例&#xff08;第二部分&#xff09;&#xff1a;组件的全局和局部注册组件使用示例&#xff08;第三部分&#xff09;&#xff1a;编写组件标签最终…

软件工程(三)——需求工程、需求开发、需求定义

目录 一、需求定义 二、需求验证 三、需求管理 1.定义需求基线 2.需求跟踪 3.变更控制 四、软件系统建模 一、需求定义 把已经分析好的需求&#xff0c;落成文档&#xff0c;把东西记录下来&#xff0c;成为《需求规格说明书》。需求定义的方法有严格定义法 以及 原型法…

Java三路快速排序

概念 三路快速排序&#xff1a; 是双路快速排序的进一步改进版本&#xff0c;三路排序算法把排序的数据分为三部分&#xff0c;分别为小于 v&#xff0c;等于 v&#xff0c;大于 v&#xff0c;v 为标定值&#xff0c;这样三部分的数据中&#xff0c;等于 v 的数据在下次递归中…

QSplitter学习笔记

QSplitter是分割窗口控件&#xff0c;并且可以拖动窗口来改变窗口的大小&#xff0c;是主界面显示时经常用到&#xff0c;本篇介绍它的交互操作。QSplitter可以容纳多个Widget&#xff0c;具有布局的特点&#xff0c;并且可以动态调整各个Widget的大小。QSplitter布局有两种方式…