每日一练:LeeCode-203. 移除链表元素 【链表+虚拟头结点】

news2024/11/18 11:28:24

每日一练:LeeCode-203. 移除链表元素 【链表+虚拟头结点】

    • 思路
      • 设置虚拟头结点

本文是力扣 每日一练:LeeCode-203. 移除链表元素 【链表+虚拟头结点】 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode-203. 移除链表元素

给你一个链表的头节点 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
输出:[]

提示:

  • 列表中的节点数目在范围 [0, 10^4]
  • 1 <= Node.val <= 50
  • 0 <= val <= 50

思路

链表操作两种⽅式

  • 直接使⽤原来的链表来进⾏删除操作

  • 设置⼀个虚拟头结点在进⾏删除操作

笔者后续链表相关的题目都用 设置⼀个虚拟头结点

设置虚拟头结点

在这里插入图片描述

return 头结点的时候,别忘了 return dummyNode->next, 这才是新的头结点

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if(head==null)return head;
        ListNode dummyHead = new ListNode(-1);	// 设置⼀个虚拟头结点
        dummyHead.next = head;		// 将虚拟头结点指向head,方便后面做删除操作
        ListNode cur = dummyHead;
        while(cur.next!=null){
            if(cur.next.val==val){
                cur.next = cur.next.next;   //一句话,一定要保证删除cur.next,cur为待操作节点的前一个节点
            }else{
                cur = cur.next;
            }
        }
        return dummyHead.next;
    }
}

时间复杂度: O(n)

空间复杂度: O(1)

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

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

相关文章

深圳牵头打造鸿蒙原生应用软件生态 | 百能云芯

深圳市工业和信息化局、深圳市政务服务和数据管理局于3月3日联合印发了《深圳市支持开源鸿蒙原生应用发展2024年行动计划》。这一计划旨在通过政策引导、市场推动、社会协同的方式&#xff0c;将深圳打造成一个鸿蒙原生应用软件生态的中心&#xff0c;推动鸿蒙系统在当地的发展…

选择正确的图片格式:JPEG、PNG、GIF、TIFF、BMP和WebP的全面对比

title: 选择正确的图片格式&#xff1a;JPEG、PNG、GIF、TIFF、BMP和WebP的全面对比 date: 2024/3/4 18:35:42 updated: 2024/3/4 18:35:42 tags: 图片格式JPEG压缩PNG透明度GIF动画TIFF印刷BMP位图WebP压缩 在数字化时代&#xff0c;图片是我们生活和工作中不可或缺的一部分。…

SpringCloud的Consul

0.介绍 Console是一款服务发现、健康检查、分布式配置中心&#xff0c;有单独的web可供配置和查看的Spring家族的一员。 1.下载 https://developer.hashicorp.com/consul/install?product_intentconsul 2.启动 consul agent-dev访问localhost:8500 3 Java使用注册中心 …

Android Stdio Execution failed for task ‘:app:compileDebugKotlin‘ 报错解决

具体报错信息如下&#xff1a; compileDebugJavaWithJavac task (current target is 1.8) and compileDebugKotlin task (current target is 17)jvm target compatibility should be set to the same Java version.很显然&#xff0c;这是一个版本冲突问题&#xff0c;compile…

【JavaEE进阶】使用云服务器实现Linux环境搭建

文章目录 &#x1f343;前言&#x1f332;Linux背景知识&#x1f6a9;Linux 是什么&#xff1f;&#x1f6a9;Linux发行版&#x1f6a9;Linux的优势 &#x1f384;Linux环境搭建&#x1f6a9;环境的搭建方式&#x1f6a9;使用云服务器 &#x1f38b;使用终端软件连接到Linux&am…

ChatGPT数据分析应用——漏斗分析

ChatGPT数据分析应用——漏斗分析 ​ 漏斗分析在数据分析中也比较常用&#xff0c;主要是用于发现各个转化流程中哪个环节有问题。接下来我们让ChatGPT解释这个方法的概念并提供相应的案例。发送如下内容给ChatGPT。 ​ ChatGPT收到上述内容后&#xff0c;返回如下结果。 漏斗…

深入Kafka client

分区分配策略 客户端可以自定义分区分配策略, 当然也需要考虑分区消费之后的offset提交, 是否有冲突。 消费者协调器和组协调器 a. 消费者的不同分区策略, 消费者之间的负载均衡(新消费者加入或者存量消费者退出), 需要broker做必要的协调。 b. Kafka按照消费组管理消费者, …

为什么国内很多MCU公司,都在仿STM32?

做了单片机开发十多年了&#xff0c;STM32是我用过的单片机里面&#xff0c;最省心的。 用STM32做过的产品&#xff0c;至少10几个以上了。 其实不仅仅是STM32&#xff0c;还有STM8系列&#xff0c;也很稳。 我们无际单片机特训营好几个项目&#xff0c;都用了STM8和STM32系列。…

MySQL中有事务无法回滚的语句?

目录 0.从修改表结构语句开始 1.DDL(Data Definition Language) 数据定义语言 2.DCL(Data Control Language) 数据控制语言 3.在该事务还没提交时开启新事务 4.锁操作 5.行政声明语句 6.主从复制的从机操作 7.如何避免出现隐式提交导致的错误 0.从修改表结构语句开始 试…

Nuxt3:useFetch在服务端及客户端重复请求问题

一、问题描述 在页面setup中调用$http.get&#xff08;封装了useFetch&#xff09;&#xff0c;发现不仅在服务端发送了接口请求&#xff0c;而且在客户端也重新发送了一遍接口请求&#xff0c;造成资源浪费及页面加载缓慢。 二、问题原因 首先看一下Nuxt 的useFetch文档&…

高光谱遥感学习入门丨高光谱数据处理基础、Python和Matlab高光谱遥感数据处理

目录 ①Python高光谱遥感数据处理与高光谱遥感机器学习方法深度应用 ②Matlab高光谱遥感、数据处理与混合像元分解实践技术应用 ③高光谱遥感数值建模技术及在植被、水体、土壤信息提取领域应用 更多应用 高光谱遥感信息对于我们认识世界具有重要意义。尽管大部分物质在人眼…

(C语言)qsort函数详解

目录 1. qsort解释 2. qsort实例 2.1 qsort排列整形数组类型&#xff1a; 2.2 qsort排列结构体类型数据&#xff08;字符串&#xff09;&#xff1a; 2.3 qsort排列结构体类型数据&#xff08;整形&#xff09;&#xff1a; 1. qsort解释 我们可以进入网站&#xff1a;qso…

局域网如何远程?

局域网远程一直是许多用户在处理远程连接需求时面临的一个难题。随着技术的不断进步&#xff0c;一种名为“天联”的组网解决方案应运而生。天联组网具有操作简单、跨平台应用、无网络要求以及独创的安全加速方案等独特优势&#xff0c;在解决各行业客户的远程连接需求方面发挥…

【JAVA重要知识 | 第二篇】一篇文章读懂Java锁机制(含CAS思想、AQS机制)

文章目录 2.一篇文章读懂Java常用的锁机制2.1锁介绍2.1.1定义2.1.2相关概念 2.2锁的种类2.2.1按功能层面分&#xff08;1&#xff09;共享锁/排他锁/读写锁 2.2.2按性能和线程安全分&#xff08;1&#xff09;乐观锁/悲观锁&#xff08;2&#xff09;偏向锁/轻量级锁(自旋锁)/重…

盘点:国家智能算力中心

文章目录 1. Main2. My thoughtsReference 1. Main 按照《中国算力白皮书&#xff08;2022年&#xff09;》的定义&#xff0c;算力主要分为四部分&#xff1a;通用算力、智能算力、超算算力、边缘算力。通用算力以CPU芯片输出的计算能力为主&#xff1b;智能算力以GPU、FPGA、…

如何本地创建websocket服务端并发布到公网实现远程访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

使用easyexcel填充模板数据,并导出excel

文章目录 前言一、制作模板二、前端代码三、后端代码总结 前言 导出excel功能非常场景&#xff0c;本片文章记录如何使用模板填充数据后再导出。因直接导出excel数据样式不符合要求&#xff0c;所以做了模板填充然后再导出excel。 效果如下&#xff1a; 一、制作模板 注意&a…

2024年腾讯云服务器优惠券领取入口及使用教程

随着云计算技术的不断发展&#xff0c;越来越多的企业和个人选择将业务迁移到云端。腾讯云作为国内领先的云计算服务提供商&#xff0c;为了吸引用户上云&#xff0c;经常推出多种优惠活动&#xff0c;其中就包括服务器优惠券&#xff0c;本文将为大家分享腾讯云服务器优惠券的…

华为配置基于VLAN限速示例

华为配置基于VLAN限速示例 组网图形 图1 流量监管配置组网图 表1 Switch为上行流量提供的QoS保障 流量类型 CIR(kbps) PIR(kbps) DSCP优先级 语音 2000 10000 46 视频 4000 10000 30 数据 4000 10000 14 ^^^ 流分类简介配置注意事项组网需求配置思路操作步…

恒峰-智能高压森林应急消防泵:守护森林安全的绿色战士

在茂密的森林中&#xff0c;每一棵树木都是大自然的精灵&#xff0c;它们为我们提供氧气、净化空气、保持水土&#xff0c;是地球上不可或缺的生命之源。然而&#xff0c;当火灾肆虐时&#xff0c;这些树木也会成为我们的噩梦。为了保护森林资源&#xff0c;我们需要一种高效、…