LeetCode简单题之合并两个链表

news/2024/11/20 17:31:17/

题目

给你两个链表 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 <= 10^4
1 <= a <= b < list1.length - 1
1 <= list2.length <= 10^4
来源:力扣(LeetCode)

解题思路

  题目难度不大,注意在相应的位置截断链表即可。list2想要接上list1剩下的尾巴,需要将list2的尾指针求出来。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def mergeInBetween(self, list1: ListNode, a: int, b: int, list2: ListNode) -> ListNode:temp=list1p=tempq=tempcount=0while temp.next:temp=temp.nextcount+=1if count==a-1:p=tempif count==b+1:q=tempp.next=list2while list2.next:list2=list2.nextlist2.next=qreturn list1

在这里插入图片描述


http://www.ppmy.cn/news/605636.html

相关文章

npm 快速入门

目录一. 简介二. 作用1. 快速构建nodejs工程2. 快速安装和依赖第三方模块三. npm镜像加速四. 其他命令一. 简介 官方网站&#xff1a;https://www.npmjs.com/ NPM全称Node Package Manager&#xff0c;是Node.js包管理工具&#xff0c;是全球最大的模块生态系统&#xff0c;里…

数据结构之哈夫曼树和哈夫曼编码

切入正题之前&#xff0c;我们先了解几个概念&#xff1a; 路径&#xff1a;从树的一个结点到另一个结点分支所构成的路线路径长度&#xff1a;路径上的分支数目树的路径长度&#xff1a;从根结点出发到每个结点的路径长度之和带权路径长度&#xff1a;该结点到根结点的路径长…

获取准确路径目录

20211207 https://www.runoob.com/w3cnote/python-check-whether-a-file-exists.html import os.path os.path.isfile(fname)https://blog.csdn.net/qq_21240643/article/details/99412409 # 删除文件 os.remove(D:\\ss\\s\\1.txt) # 删除文件判断路径是否存在并删除 202012…

LeetCode简单题之长按键入

题目 你的朋友正在使用键盘输入他的名字 name。偶尔&#xff0c;在键入字符 c 时&#xff0c;按键可能会被长按&#xff0c;而字符可能被输入 1 次或多次。 你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字&#xff08;其中一些字符可能被长按&#xff09;…

Babel 快速入门

目录一. 简介二. 安装 babel-cli三. 代码示例1. 初始化项目2. 编写es6代码3. 编写babel配置文件4. 安装转码器5. 转码方式一方式二一. 简介 ES6的某些高级语法在浏览器环境甚至是Node.js环境中无法执行。 Babel是一个广泛使用的转码器&#xff0c;可以将ES6代码转为ES5代码&…

wps图片批量调整

https://jingyan.baidu.com/article/e73e26c092bf4a24adb6a78e.html photoshop彩色转黑白 WPS最实用的多个图片大小位置调整方法听语音原创|浏览&#xff1a;380|更新&#xff1a;2018-06-07 12:07

LeetCode中等题之煎饼排序

题目 给你一个整数数组 arr &#xff0c;请使用 煎饼翻转 完成对数组的排序。 一次煎饼翻转的执行过程如下&#xff1a; 选择一个整数 k &#xff0c;1 < k < arr.length 反转子数组 arr[0…k-1]&#xff08;下标从 0 开始&#xff09; 例如&#xff0c;arr [3,2,1,4] …

打标遗留的问题

电子病历训练文本打标的更正 $ 符号 [ 符号 Address -ate 打标数据转换成一列的时候会出现这种字符紧紧挨着没分开的情况