LeetCode 1669. 合并两个链表
文章目录
- 1. 题目
- 2. 解题
1. 题目
给你两个链表 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 中第三和第四个节点,并将 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 <= 10^4
1 <= a <= b < list1.length - 1
1 <= list2.length <= 10^4
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-in-between-linked-lists
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {public:ListNode* mergeInBetween(ListNode* list1, int a, int b, ListNode* list2) {ListNode *cur = list1, *cur2 = list1->next;ListNode *tail2 = list2;b -= a;while(tail2->next)tail2 = tail2->next;//链表2的尾节点while(--a){cur = cur->next;}cur2 = cur->next;//要删除的部分的开始cur->next = list2;//接上链表2while(b--)//链表1剩余要删除的部分,遍历{cur2 = cur2->next;}tail2->next = cur2->next;//链表2的尾巴接上要删除的部分的尾巴的下一个return list1;}
};
524 ms 92.7 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode 1669. 合并两个链表相关推荐
- LeetCode 1669合并两个链表-中等
给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个. 请你将 list1 中第 a 个节点到第 b 个节点删除,并将list2 接在被删除节点的位置. 下图中蓝色边和节 ...
- leetcode刷题记录--数据结构;深度优先搜索算法;二叉树;平衡树;1020. 飞地的数量;1669. 合并两个链表;108. 将有序数组转换为二叉搜索树
1020. 飞地的数量 难度中等131 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格.1 表示一个陆地单元格. 一次 移动 是指从一个陆地单元格走到另一个相邻(上 ...
- [递归|迭代] leetcode 21 合并两个有序链表
[递归|迭代] leetcode 21 合并两个有序链表 1.题目 题目链接 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2 ...
- LeetCode 21. 合并两个有序链表(链表)
上一篇博客:LeetCode 20. 有效的括号(栈.字符串) 写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode ...
- 合并两个链表,去掉重复元素
最近在学习机器学习的相关算法,写到DbScan算法发现在簇扩展时用到两个邻域中的点会重合,于是尝试了合并两个链表的两个算法. 最初用到这个方法,认为它简单易用.思路是定义一个链表存放合并后的链表lis ...
- C语言实现合并两个链表 含注释
本例子实现将两个链表合并,合并后的链表是第一个链表.通过将第二个链表连接到第一个链表的尾部实现.核心思想是:遍历第一个链表直到尾部,记录尾指针,然后将第二个链表连接到第一个链表尾部指针的 next 指 ...
- 面试题:交替合并两个链表
交替合并两个链表给定一个链表 L1: L0->L1->L2->L3->L4....Ln 给定一个链表 L2: Lm->Lm+1->L....LM+n 例如输入链表1 ...
- LeetCode 21合并两个有序链表22括号生成
微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...
- LeetCode 21. 合并两个有序链表(单链表)
文章目录 1. 题目信息 2. 解题 1. 题目信息 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例:输入:1->2->4, 1-> ...
最新文章
- CentOS 7 yum 安装 MySQL5.7
- 2021全国大学生物联网大赛记
- 推荐系统炼丹笔记:Deep Retrieval
- mysql case函数吗_mySQL case函数
- 28. LAST() 函数
- 使用函数BAPISDORDER_GETDETAILEDLIST读取S/4HANA中Sales Order行项目数据
- WINCE BSP中source文件中的宏定义
- Magento教程 16:Magento价格规则的优先度
- arduino 舵机接线图_用fritzing绘制arduino硬件连线图
- 批量激活管理工具VAMT 3.0的安装与基本使用方法简介
- ajax无刷新提交表,Ajax无刷新提交表单和显示
- [读码时间] 跟随鼠标移动(大图展示)
- php提交form表单提交方式,php form表单的提交
- 智鹰科技——无人机线路巡检系统商业计划书
- 2018 年寒假/春节,来蓝鲸玩吧!
- 2020年度总结和一些想法
- 信号完整性和电源完整性基本介绍
- Playwright 中文文档
- 张艾迪(创始人):梦想与未来
- 学习日语应该先掌握哪些内容?
热门文章
- webpack打开项目命令_webpack打包好的页面在项目中怎么运行?
- 在Linux中head命令,Linux 中 head 命令实例
- All-In-One Code Framework [一站式示例代码库] 【转】
- luogu3830 [SHOI2012]随机树
- Go语言之进阶篇http服务器获取客户端的一些信息
- Tomcat 在mac上(Idea)端口冲突解决办法
- BZOJ4068 : [Ctsc2015]app
- [解题报告]HDU 1249 三角形
- hibernate3.6.0日志配置
- Java代码优化方案 J2ME内存优化