【算法|链表】移除链表元素

news2024/11/24 14:49:46

算法|链表-移除链表元素

关于链表的介绍以及相关实现操作,见单链表,双链表

leetcode 203

移除链表元素

题意:删除链表中等于给定值 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 输出:[]

原链表删除元素

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

虚拟头节点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设置一个虚拟头结点,这样原链表的所有节点就都可以按照统一的方式进行移除了。

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        if(head == null){
            return head;
        }
        ListNode dummyhead = new ListNode(-1);
        dummyhead.next = head;
        ListNode cur = dummyhead;
        while(cur.next != null){
            if(cur.next.val == val){
                cur.next = cur.next.next;
            }else{
                cur = cur.next;
            }
        }
        return dummyhead.next; 
    }
}

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

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

相关文章

Unity3D之动态生成指定数量带间隔的地面

文章目录 准备代码实现实现效果 准备 空物体生成脚本地面预制体 代码实现 using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; using UnityEngine;public class CreateGround : MonoBehaviour {[SerializeField]public i…

多功能透明屏,在智能家居领域中,有哪些功能特点?显示、连接

多功能透明屏是一种新型的显示技术,它能够在透明的表面上显示图像和视频,并且具有多种功能。 这种屏幕可以应用于各种领域,如商业广告、智能家居、教育等,为用户提供更加便捷和多样化的体验。 首先,多功能透明屏可以…

NIFI关于Parameter Contexts的使用

说明 nifi版本:1.23.2(docker镜像) 作用 Parameter Contexts(参数上下文):参数上下文由 NiFi 实例全局定义/访问。访问策略可以应用于参数上下文,以确定哪些用户可以创建它们。创建后&#x…

CRM系统中的工作流管理及其重要性

工作流是CRM系统中较为常见的功能,它可以有效减少重复工作、提高销售效率。如果您想深入了解,本文就来详细说说,CRM工作流是什么?工作流的作用? 什么是CRM工作流? CRM工作流是指在CRM系统中,根…

Python编程的八大魔法库

Python是一门广受欢迎的编程语言,其生态系统丰富多彩,拥有许多令人惊叹的依赖库,可以帮助程序员们在各种领域中创造出令人瞠目结舌的应用。在这篇文章中,我们将探讨Python编程的十大神奇依赖库,它们像魔法一样&#xf…

3.运行项目

克隆项目 使用安装的git克隆vue2版本的若依项目,博主使用的版本是3.8.6. git clone https://gitee.com/y_project/RuoYi-Vue.git目录结构如下图所示,其中ruoyi-ui是前端的内容,其它均为后端的内容。 配置mysql数据库 在数据库里新建一个…

实体门店如何变“流量”为“存量”门店数字化积分体系如何设计?

随着各行各业特别是实体商家对于数字化工具的广泛使用,积分系统对于实体客户的留存、转化相较于其他营销手段,拥有更好的数据反馈。简单而言,积分指的是在某个平台上流通的虚拟数值,可以辅助平台提升活动运营效果,提升…

Python 操作 Word

上次给大家介绍了 Python 如何操作 Excel ,是不是感觉还挺有趣的,今天为大家再介绍下,用 Python 如何操作 Word ,这个可能跟数据处理关系不大,用的也不多,不过可以先了解下都能实现什么功能,以备…

阿里巴巴国际站测评补单有哪些优势,需要哪些技术要求

阿里巴巴国际站买家复购等销售指标就成为了判断你这个产品是否能大卖的第一标准。判断后的潜力大就给你更多的流量,潜力小则排名靠后。所以补单的目的就是通过GMV等重要指标的提升,增加系统对你产品的潜力预判,使你的链接在赛马机制中优先&am…

文件夹高效管理,轻松实现多次复制!

在日常工作和生活中,我们经常需要复制某些文件夹。但是,传统的复制方法往往需要多次操作,不仅耗时还容易出错。为了解决这个问题,我们为您提供一种高效管理文件夹的方法,让您轻松实现多次复制! 首先我们要…

【论文+代码】1706.Transformer简易学习笔记

Transformer 论文: 1706.attention is all you need! 唐宇迪解读transformer:transformer2021年前,从NLP活到CV的过程 综述:2110.Transformers in Vision: A Survey 代码讲解1: Transformer 模型详解及代码实现 - 进击的程序猿 - 知乎 代码讲…

从零开始探索C语言(六)----数组

文章目录 1. 数组初识1.1 数组声明1.2 数组初始化1.3 数组元素的访问1.4 获取数组长度1.5 数组名 2. 多维数组3. 形参数组4.函数返回数组5. 指向数组的指针6. 静态数组和动态数组6.2 静态数组6.2 动态数组 1. 数组初识 C 语言支持数组数据结构,它可以存储一个固定大…

【C++杂货铺】探索list的底层实现

文章目录 一、list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity(容量相关)1.2.4 list element access(元素访问)1.2.5 list modifiers(链表修改&#xff0…

Redis7入门概述

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…

Docker的简介及安装

[shouce]http://shouce.jb51.net/docker_practice/栾一峰菜鸟教程参考文献 1 环境配置的难题 软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户必须保证两件事…

Ubuntu 22.04 桌面美化成Mac风格

安装插件 sudo apt install gnome-tweaks gnome-shell-extensions -y安装完成后在应用中可以搜索到一个名为(tweaks/优化)的应用。 下载安装主题、图标 主题 git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git cd WhiteSur-gtk-them…

智慧工厂能源管理系统

随着全球工业4.0浪潮的推进,制造业逐渐向智能化、绿色化方向发展。其中,智慧工厂能源管理系统作为绿色智能制造的重要组成部分,对于提高企业能源利用效率、降低生产成本具有重要意义。本文将从智慧工厂能源管理系统的背景、技术架构、功能及应…

Ceph一致性检查工具Scrub机制

本章介绍Ceph的一致性检查工具Scrub机制。首先介绍数据校验的基本知识,其次介绍Scrub的基本概念,然后介绍Scrub的调度机制,最后介绍Scrub具体实现的源代码分析。 1. 端到端的数据校验 在存储系统中可能会发生数据静默损坏(Silen…

【数据结构】堆的基础功能实现与PriorityQueue

文章目录 🍀堆的插入与删除🛫堆的插入🚩代码实现: 🛬堆的删除 🎋堆的常见习题🎈习题一🎈习题二🎈习题三 🎄PriorityQueue🐱‍👓Priori…

Metalenz和纵慧芯光联合推出新的结构光传感解决方案

- “Orion 18K”由Metalenz的超构表面光学元件和纵慧芯光(Vertilite)的伪随机垂直腔面发射激光器(VCSEL)组成。 - 面向智能手机的面部认证、无接触门禁控制、安防、手势识别、避障以及汽车车内监控等应用。 据麦姆斯咨询报道,领先的超构表面光学公司Metalenz和VCSEL供应商…