Leetcode203.移除链表元素-Python

embedded/2024/10/11 0:52:00/

题目链接:203. 移除链表元素 - 力扣(LeetCode)

题目描述:

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

示例 1:

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:

输入:head = [], val = 1
输出:[]

示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]

解题思路:虚拟头节点

考虑到如果要移除的元素如果是头节点的话需要head = head.next,那么每次都需要判断,头节点和非头节点需要不同的处理方式较为复杂,所以此处引入虚拟头节点避免了这一问题。

移除元素时需要知道上一个元素,将上一个元素指向要移除元素的下一个元素,所以需要初始化一个指针,指向当前节点,遍历链表进行循环,循环条件是当前指针的下一个元素不为空。

代码:

class ListNode:def __init__(self,val = 0,next = None):self.val = valself.next = next
class Solution:def removeElements(self,head:Optional[ListNode],target:int)->Optional[ListNode]:# 初始化虚拟头节点dummy_head = ListNode(next = head)# 初始化指针cur = dummy_headwhile cur.next:if cur.next.val == targetcur.next = cur.next.nextelse:cur = cur.nextreturn dummy_head.next


http://www.ppmy.cn/embedded/125633.html

相关文章

宠物空气净化器哪个牌子吸毛好?希喂、IAM、352真实测评

前段时间忙活了个大工程——热门宠物空气净化器大横评,通过多方位的测试,帮助不少朋友解决了宠物空气净化器的选购难题。 但我们还不局限于此,在从事家电行业这些年间,我们还花费大价钱购置一堆产品实测体验过各类大小家电产品&a…

rocky9 samba共享

1. 安装samba服务,设置开机自启。 2. 创建四个用户user1,user2,sale1,manager,user1,user2属于finance组,sale1属于sales组,manager属于manager组。 3. 建立共享目录/opt/finance_…

springboot中@ConfigurationProperties注解的用法

简介 ConfigurationProperties注解在Spring Boot框架中提供了一种将外部配置(如application.properties或application.yml文件中的属性)绑定到Java对象的便捷方式。以下是ConfigurationProperties注解的详细用法 基本用法 定义配置类 创建一个普通的…

机器学习:关联规则:Apriori算法、FP - Growth算法的原理、应用场景及优缺点介绍

一、关联规则算法概述 关联规则挖掘是数据挖掘中的一个重要任务,用于发现数据集中不同项之间的关联关系。 二、Apriori算法 原理 频繁项集生成:Apriori算法基于一个先验原理,即如果一个项集是频繁的,那么它的所有子集也是频繁的…

springboot 模版集成方案(第二章)

springboot 模版集成方案 jsp 模版集成 ​ 在SpringBoot框架中默认模板推荐使用Thymeleaf模板,但是也不能排除有些公司还是使用jsp 模版解析&#xff1b; 1. 引入jsp 集成的 jar 包 <!--c标签库--> <dependency><groupId>jstl</groupId><artifact…

力扣10.9

3171. 找到按位或最接近 K 的子数组 给你一个数组 nums 和一个整数 k 。你需要找到 nums 的一个 子数组 &#xff0c;满足子数组中所有元素按位或运算 OR 的值与 k 的 绝对差 尽可能 小 。换言之&#xff0c;你需要选择一个子数组 nums[l..r] 满足 |k - (nums[l] OR nums[l 1…

PclSharp1.12.0库文件下载地址

C#Winfrom实现3D点云目标识别 使用PclSharp1.12.0库及PlcSharp可视化库&#xff0c;利用Winform框架开发点云算法处理应用程序&#xff0c;可适配激光雷达点云数据或者是3D相机拍摄扫描的点云数据&#xff0c;定位识别目标物体&#xff0c;得出抓取中心&#xff0c;通过数据通信…

jmeter学习(4)提取器

同线程组https://blog.csdn.net/vikeyyyy/article/details/80437530 不同线程组 在JMeter中&#xff0c;正则表达式提取的参数可以跨线程组使用。 通过使用Beanshell后置处理器和属性设置函数&#xff0c;可以将提取的参数设置为全局变量&#xff0c;从而在多个线程组之间共享…