算法第十天:leetcode203.移除链表元素

news2024/9/22 23:39:16

一、203.移除链表元素题目描述

  203.移除链表元素的链接如下所示,您可复制下面链接网址进入力扣学习,看题解之前一定要先做一遍哦!

https://leetcode.cn/problems/remove-linked-list-elements/description/icon-default.png?t=N7T8https://leetcode.cn/problems/remove-linked-list-elements/description/

  给你一个链表的头节点 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, 104] 内
  • 1 <= Node.val <= 50
  • 0 <= val <= 50

二、Java版的示例代码

  这题可直接用单链表的算法来实现,具体代码如下:

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        while(head!=null&&head.val==val){
            head=head.next;
        }
        ListNode curr=head;
        while(curr!=null){
            while(curr.next!=null&&curr.next.val==val){
                curr.next=curr.next.next;
            }
            curr=curr.next;
        }
        return head;
    }
}

三、具体思路

  本题主要讲解单链表的算法思路,下面为本题思路的3个步骤:

  • 首先判断要删除的元素是否是头节点,还要判断头结点不为空。如果这个头结点为空,相当于是操作空指针,那么编译就会报错。同时头节点所指向的数值等于目标值。然后把头结点指向这个头节点的下一个。
  • 定义一个指针curr,让它指向head。然后进入while循环,判断curr和curr.next不为空,curr.next的值等于val,让curr.next指向curr.next.next。
  • 最后别忘了不等于的情况,我们就让curr指向curr.next。然后返回head。

  最后,感谢各位读者的阅读与支持,您的支持是我前进的动力!我希望我的博文能够带给您有用的算法知识和启发。希望本题对大家有帮助,谢谢各位读者的支持!!!

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

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

相关文章

WsgiDAV:强大的 WebDAV 解决方案

一、软件介绍 WsgiDAV 是一款卓越的开源 WebDAV 服务器和客户端库&#xff0c;由 Python 精心编写而成。它为用户搭建了一座通过 HTTP/HTTPS 协议访问和管理远程文件系统的便捷桥梁。 WsgiDAV 的核心是一个严格遵循 WebDAV 标准的中间件&#xff0c;能够与任何 WSGI 兼容的 W…

fastJSON 解决kafka消息斜杠转义问题

Bug: kafka发送消息时的JSON转义异常 问题描述: 问题描述:kafka消息发送出去但是消费者执行相关逻辑的时候报错. 场景:当时实习的时候需要模拟数据做一个实时经纬度传输的接口,使用kafka实时发送消息将数据同步到数据库中 问题分析: fastjson使用不当可能导致转义异常**,kafka…

【系统架构设计】操作系统(一)

操作系统&#xff08;一&#xff09; 操作系统的类型和结构操作系统基本原理进程管理进程三态模型挂起状态进程互斥 / 进程同步前趋图进程调度死锁 存储管理设备管理文件管理作业管理 操作系统原理的关键在于“一个观点、两条线索”&#xff1a;一个观点是以资源管理的观点来定…

Rust Result 与可恢复的错误

Result 与可恢复的错误 大部分错误并没有严重到需要程序完全停止执行。有时&#xff0c;一个函数会因为一个容易理解并做出反应的原因失败。例如&#xff0c;如果因为打开一个并不存在的文件而失败&#xff0c;此时我们可能想要创建这个文件&#xff0c;而不是终止进程。 回忆…

Python进阶(4)--正则表达式

正则表达式 在Python中&#xff0c;正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是一种强大的文本处理工具&#xff0c;它允许你使用一种特殊的语法来匹配、查找、替换字符串中的文本。 在这之前&#xff0c;还记得之前我们是通过什么方法分割…

动手做Agent:产品经理与程序员的相爱想杀

引言 以前在大厂做产品经理的时候&#xff0c;很多次我恨不得想要撸起袖子自己 coding。现在自己独立开始做&#xff0c;才知道动手开发的确比想象中困难&#xff0c;尽管我勉强也可以看得懂代码&#xff0c;真是“眼看百遍不如动手一遍”。 就像周末我立下豪言给小幼兽 DIY …

机器学习第四十八周周报 IAGNN

文章目录 week48 IAGNN摘要Abstract0. 前言1. 题目2. Abstract3. 网络结构3.1 问题定义3.2 IAGNN 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.4 实验结果 5. 结论6.代码复现小结参考文献 week48 IAGNN 摘要 本周阅读了题为Interaction-Aware Graph Neural Networks…

SpringCloud------Sentinel(微服务保护)

目录 雪崩问题 处理方式!!!技术选型 Sentinel 启动命令使用步骤引入依赖配置控制台地址 访问微服务触发监控 限流规则------故障预防流控模式流控效果 FeignClient整合Sentinel线程隔离-------故障处理线程池隔离和信号量隔离​编辑 两种方式优缺点设置方式 熔断降级-----…

【C++初阶】多态

重写子类时不要求必须有 virtual 关键字 虚函数允许派生类重写这个函数&#xff0c;并确保即使是通过基类指针调用该函数&#xff0c;也能调用到派生类的版本 虚函数关键字 virtual 只在声明时加上&#xff0c;在类外实现时不用加 虚函数只需在类声明中加上 virtual 关键字&a…

COD论文学习 ZoomNext

现有方法的不足之处 高内在相似性&#xff1a;伪装物体与背景之间的高内在相似性使得检测变得困难&#xff0c;现有方法难以准确区分二者。多样化的规模和模糊的外观&#xff1a;伪装物体在规模和外观上多样化&#xff0c;且可能严重遮挡&#xff0c;导致现有方法难以处理。不…

景联文科技构建高质量心理学系知识图谱,助力大模型成为心理学科专家

心理大模型正处于快速发展阶段&#xff0c;在临床应用、教育、研究等多个领域展现出巨大潜力。 心理学系知识图谱能够丰富心理大模型的认知能力&#xff0c;使其在处理心理学相关问题时更加精确、可靠和有洞察力。这对于提高心理健康服务的质量和效率、促进科学研究以及优化教育…

vue项目build以后整合到springboot项目里面---------gxl

很多时候我们需要用到vue的组件&#xff0c;但是全栈的背景下懒得去搞前后端分离&#xff0c;很多权限校验后台都写好了&#xff0c;没必要再去做接口或者前端写一遍了&#xff0c;因此我们需要把打包后的项目整合到项目里面。 整合也很简单&#xff0c;照常vue项目开发&#…

Seaborn库学习之heatmap()函数

Seaborn库学习之heatmap(函数) 一、简介 seaborn.heatmap是Seaborn库中用于绘制热图&#xff08;Heatmap&#xff09;的函数。热图是一种数据可视化技术&#xff0c;通过颜色的变化来展示数据矩阵中的数值大小。这种图表非常适合展示数值数据的分布和关系&#xff0c;尤其是在…

什么是MIMO?(通俗易懂)

MIMO&#xff0c;一句话解释&#xff1a;多输入多输出&#xff08;Multi Input Multi output&#xff09; 用图说话&#xff0c;图①-图④&#xff0c;分别代表&#xff1a; ① SISO&#xff1a;单输入单输出 ( Single Input Single Output ) ② SIMO&#xff1a;单输入多输出…

YOLOV5学习记录

前言&#xff1a; 计算机视觉 什么是目标检测&#xff1f; 物体分类和目标检测的区别 目标检测&#xff0c;物体的类别和位置 学习选题&#xff0c;口罩检查&#xff0c;人脸识别 算法原理&#xff1a;知乎&#xff0c;csdn&#xff0c;目前还没到这种程度 大大滴崩溃&am…

木舟0基础学习Java的第二十天(线程,实现,匿名有名,休眠,守护,加入,设计,计时器,通信)

多线程 并发执行的技术 并发和并行 并发&#xff1a;同一时间 有多个指令 在单个CPU上 交替执行 并行&#xff1a;同一时间 有多个指令 在多个CPU上 执行 进程和线程 进程&#xff1a;独立运行 任何进程 都可以同其他进程一起 并发执行 线程&#xff1a;是进程中的单个顺…

鸿蒙语言基础类库:【@system.mediaquery (媒体查询)】

媒体查询 说明&#xff1a; 从API Version 7 开始&#xff0c;该接口不再维护&#xff0c;推荐使用新接口[ohos.mediaquery]。本模块首批接口从API version 3开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import mediaquery from sy…

【进阶篇-Day10:JAVA中泛型、平衡二叉树、红黑树、TreeSet集合的介绍】

目录 1、泛型1.1 泛型类1.2 泛型方法1.3 泛型接口1.4 泛型通配符1.5 总结 2、数据结构&#xff08;树&#xff09;2.1 树的基本介绍2.2 二叉树的介绍2.2.1 概念&#xff1a;2.2.2 二叉查找树的介绍&#xff1a;2.2.3 二叉查找树添加节点&#xff1a;2.2.4 二叉查找树查找节点&a…

window11 部署llama.cpp并运行Qwen2-0.5B-Instruct-GGUF

吾名爱妃&#xff0c;性好静亦好动。好编程&#xff0c;常沉浸于代码之世界&#xff0c;思维纵横&#xff0c;力求逻辑之严密&#xff0c;算法之精妙。亦爱篮球&#xff0c;驰骋球场&#xff0c;尽享挥洒汗水之乐。且喜跑步&#xff0c;尤钟马拉松&#xff0c;长途奔袭&#xf…

从零开始读RocketMq源码(五)Consumer消费Message流程解析

目录 前言 准备 拉取服务和重平衡服务启动 初识PullRequest 重平衡服务 对重平衡资源进行排序 MessageQueue消息队列集合来源 Consumer消费者集合数据来源 确实分配资源策略 执行分配策略 初始化ProcessQueue 初始化PullRequest 内存队列填充PullRequest 消息拉取…