leetcode203. 移除链表元素

news2024/11/25 8:16:52

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【LeetCode】
🍓希望我们一起努力、成长,共同进步。
在这里插入图片描述

题目链接

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

示例一:

在这里插入图片描述
输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例二:

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

示例三

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

在这里插入图片描述

解题思路:

  1. 创建两个指针pre和cur,pre指向NULL,cur指向head。
  2. 对cur进行迭代,如果cur的值等于待删除的值val,则将pre的next指向cur的next,即跳过cur节点。
  3. 如果cur节点的值不等于待删除的值val,则将pre指向cur,将cur指向cur的next节点继续迭代。
  4. 最终返回head指针。

解题代码如下:

struct ListNode* removeElements(struct ListNode* head, int val){
    struct ListNode* prev=NULL;
    struct ListNode* cur=head;
    while(cur)
    {
        if(cur->val!=val)
        {
            prev=cur;
            cur=cur->next;
        }
        else
        {
            if(prev==NULL)
            {
                //头删直接处理head,prev就不用管了。
                head=cur->next;
                free(cur);
                cur=head;//注意不要写成cur=cur->next;因为cur已经释放了
            }
            else
            {
                prev->next=cur->next;
                free(cur);
                cur=prev->next;
            }
        }
    }
    return head;
}

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

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

相关文章

Docker安装OpenWrt

我笔记本MacOs安装Docker OpenWrt 失败了,网络一直容器内外无法访问. 今天使用虚拟机安装一下,虚拟机使用Parallels,系统使用kali 一、安装docker sudo apt install docker.io 二、把网卡混杂模式打开 根据您当前的ip查看网卡!!! 在您的liu…

如何在华为OD机试中获得满分?Java实现【数组的中心位置】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

【C++】STL中stack的用法及模拟实现

目录 一、stack的简介二、stack的使用三、stack的模拟实现 一、stack的简介 stack是一种容器适配器,专门用在后进先出操作的上下文中环境中,其中的元素只允许从容器固定的一端进行插入和删除操作。stack是作为容器适配器来实现的,容器适配器…

市值蒸发21亿港元,王一博还能拉着乐华走多久?

5月22日,#乐华被冻结2390万财产#话题冲上热搜。 近日,头顶“王一博”光环的乐华娱乐集团(下称“乐华娱乐”,02306.HK)交出了上市后的首份财报。 4月25日,财报公布的首个交易日,其股价下跌2.06…

【iOS】【最新】2023苹果开发者账号注册流程(公司类型)

一 Apple Developer 申请开发者账号 Apple Developer 点击 Account 创建 Apple ID 最好新注册一个新的,专门用做开发。 需要注意的是 开发者的名字和 ID 想好在填写 ,注册成功后,不能自己修改,需要修改的话只能联系苹果客服。…

CCF-CSP 201903-1 小中大

该题比较简单,因为所给数据都是排好序的了,对于最大值与最小值我们只需判断第一个元素与最后一个元素的关系即可,而中位数的判断则与n的大小有关,如果n为偶数(下标从1开始),那么中间会存在两个数…

各个查询引擎是如何提高写入效率,查询效率

RocketMq 1. 顺序IO 如果消息生产者生产了消息,发送到broker之后,需要存储在磁盘中,如果直接存储到话,并发度会很小,因为操作磁盘会很慢,尤其是操作随机IO,因此看看能不能在写入磁盘的时候&am…

制造企业如何抓住2023经济复苏做好数字化转型

2022年,在地缘政治冲突、新冠疫情、供应链挑战、通胀压力等多重冲击下,中国经济迎难而进。2023年随着防疫政策的调整和优化,也将成为经济全面复苏和发展的重要一年,这对于制造企业来说是一个重要的机遇。 据国际数据公司IDC预测&a…

尚硅谷Docker实战教程-笔记01【理念简介、官网介绍、平台入门图解、平台架构图解】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【理念简介、官网介绍、平台入门图解、平台架构图解】尚硅谷Docker实战教程-笔…

Java | 一分钟掌握定时任务 | 9 - PowerJob分布式定时任务

作者:Mars酱 声明:本文章由Mars酱整理编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我! 前言 我们选择一套框架或者技术的时候,一定要知道它的特点和…

电源大师课-初阶

第一课 电源系统构成和基础原理 1-电源效率 总的Pout除以Pin 2-输出电压调整率 源调整率(输入电压变化时,输出稳定程度) 负载调整率(输出负载变化时,输出稳定度) 温度调整率(工作环境温度在极限情况下,输出的稳定度) 3-纹波测试(20MHz、最…

KD7742电气安规综合测试仪

一、产品简介 KD7742电气安规综合测试仪具有交/直流耐压、绝缘电阻等项目的测试分析功能,能显示电压、电流和电阻的波形图以及趋势图,以便更直观的监测分析绝缘性能和绝缘崩溃时的各项指标,适用于高要求的测试分析场合。 产品具有测试参数范围…

郑州信源招标采购系统 定制

概述: 招标采购系统是郑州信源运用“互联网”、大数据、人工智能、区块链、物联网等新兴技术,结合供应链管理理念,以招标采购为核心,提供交易、管理、数据、服务、监管为一体的高标准采购管理平台,招标采购系统根据客户…

基于html+css的图片展示93

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Qt编程基础 | 第六章-窗体 | 6.1、主窗体QMainWindow类

一、主窗体QMainWindow类 1.1、简介 QMainWindow是为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status …

基于jmeter完成压测

🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目前在某公司实习&#x1f…

FLEXPART拉格朗日粒子扩散模式建模技术及研究大气污染物源-汇关系中的实践经验与技巧

拉格朗日粒子扩散模式FLEXPART通过计算点、线、面或体积源释放的大量粒子的轨迹,来描述示踪物在大气中长距离、中尺度的传输、扩散、干湿沉降和辐射衰减等过程。 该模式既可以通过时间的前向运算来模拟示踪物由源区向周围的扩散,也可以通过后向运算来确…

剑指offer -- 二维数组中的查找

二维数组中的查找_牛客题霸_牛客网 (nowcoder.com) 暴力查找法: 是一种简单直接的解决方法,可以用于在二维数组中查找目标值。该方法的思路是遍历数组的每个元素,逐个与目标值进行比较。 具体步骤如下: 从数组的第一行第一列开始,…

Scala学习(十)---Set和Map

文章目录 1.Set集合1.1 不可变Set1.2 可变Set 2.Map2.1 不可变Map2.2 可变map 3.元组 1.Set集合 1.1 不可变Set 创建一个不可变set val setSet(1,2,3,4,6,5,4,4)println(set)//判断此set是否为不可变HashSetval bool set.isInstanceOf[HashSet[Int]]println(bool)运行&#…

考研数据结构--图

文章目录 图图的基本概念图的定义种类 图的抽象数据类型图的基本术语1. 端点和邻接点2. 顶点的度、入度和出度3. 完全图4. 稠密图、稀疏图5. 子图6. 路径和路径长度7. 回路或环8. 连通、连通图和连通分量9. 强连通图和强连通分量在一个图中找强连通分量的方法 10. 权和网 图的存…