力扣 删除链表的节点

2023-10-30

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。

返回删除后的链表的头节点。

注意:此题对比原题有改动

示例 1:

输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.
示例 2:

输入: head = [4,5,1,9], val = 1
输出: [4,5,9]
解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4 -> 5 -> 9.

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteNode(ListNode* head, int val) {
        ListNode *prt=head,*cut=head->next;//创建两个链表的指针,一个指向头结点,一个指向第一个结点。
        if(head->val==val) return head->next;//如果头结点里的值等于要删除的值,直接输出之后的链表就行了
        while(cut->next!=nullptr&&cut->val!=val){//判断指针指到的值是否等于要删的值,往下进行
            prt=cut;
            cut=cut->next;
        }
        if(cut!=nullptr) prt->next=cut->next;//代码运行到这时,说明该删除的值已经就是当前cut所指向的值,将prt(cut的上一个结点)的指向,直接指向cut 的下一个指向。就相当于把该结点删除了。
        return head;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

力扣 删除链表的节点 的相关文章

  • 【牛客网】BC146 添加逗号

    一 题目描述 牛客网题目链接 添加逗号 牛客题霸 牛客网 描述 对于一个较大的整数 N 1 lt N lt 2 000 000 000 比如 980364535 我们常常需要一位一位数这个数字是几位数 但是如果在这 个数字每三位加一个逗号
  • 《算法零基础100讲》 变量交换算法

    题目1 题目链接 int swapNumbers int numbers int numbersSize int returnSize numbers 0 numbers 0 numbers 1 numbers 1 numbers 0 nu
  • top-k的应用

    top k的应用 topk指的是 保存一段数据的最大或者最小的k位数 在code中或者工程中右很重要的应用 举例 查询超大量数据中 最小或者最大的 第 k位数 正常使用排序 缺点 内存占用会超出正常范围 相对简单的做法是 遍历K次 每次选出
  • [leetcode]刷题--关于位运算的几道题

    1 位运算的本质 其实是对二进制补码储存形式的修改 位运算常见的运算符为 lt lt 左移n个位置 算数移位 符号位不变 gt gt 右移动n个位置 采用直接丢弃末尾数字的方法 符号位不变 移位都是算数移位 按位取反 对于包括符号位在内全部
  • 跟着英雄刷算法-计数法

    博主是一个刚刚学校C语言和算法的小白 算法这一块完全是空白 偶然了解到了英雄大佬和万人社区 以后博主有时间会分享跟着英雄大佬学习到的东西和平时练习 引例 1 IQ测试 iq表示统计智商的数据列表 然后统计智商大于k的人数 int func
  • 【C语言刷题】将一个十进制数字转化为二进制数字

    题目描述 将一个十进制的数字转化为二进制的数字 测试用例 输入 10 输出 1010 输入 9 输出 1001 思路 可以发现二进制位是满2进1 则可以通过 2来判断是否需要进位 依次作为循环终止条件 通过 2可以判断二进制的每一位对应的数
  • 颜色分类Ⅱ

    题目 方法一 分治法 算法思路 每次选定一个中间的颜色 这个中间的颜色用给出的k来决定 将小于等于中间的颜色的就放到左边 大于中间颜色的就放到右边 然后分别再递归左右两半 代码思路 递归函数设置四个参数 序列需要处理区间的左右端点和处理的颜
  • 大一下第一场

    大一下第一场比赛 太菜了 总结 小错误太多 应该提高严密性 long long scanf lld 有 gt lt 不要忘记了等于的情况 成绩那题 我默认把它看成了小数 其实还有整数的情况 一题有一些小细节没注意导致花了很多时间 诶 长寿的
  • 牛客专项练习之设计模式

    开头先一句水平有限 仅供参考 有错误可以提醒我改一下 感谢 1 如果需要一个语言解释执行 并且可以将语言中的句子表示为一个抽象语法树的时候 对效率要求不高的情况下 应该选择何种设计模式 题目中的解释二字就告知选项 解释器模式 给定语言 定义
  • Acwing算法提高课—搜索

    搜索 BFS Flood Fill AcWing 1097 池塘计数 AcWing 1098 城堡问题 AcWing 1106 山峰和山谷 最短路模型 AcWing 1076 迷宫问题 AcWing 188 武士风度的牛 AcWing 11
  • 【C语言】杨氏矩阵

    题目描述 有一个数字矩阵 矩阵的每行从左到右是递增的 矩阵从上到下是递增的 请编写程序在这样的矩阵中查找某个数字是否存在 要求 时间复杂度小于O N 思路1 可以采用遍历方式一个个查找 但是这样时间复杂度为O N 不满足题目要求 思路2 先
  • 【牛客网刷题】VL8-VL10 generate for语句、比较数大小、function的使用

    写在前面 本系列博客记录牛客网刷题记录 日拱一卒 功不唐捐 目录 VL8 使用generate for语句简化代码 题目描述 输入描述 输出描述 RTL 设计 testbench 设计 仿真测试 VL9 使用子模块实现三输入数的大小比较 题
  • leetcode——189.轮转数组(C语言2种思路)

    文章目录 1 题目 2 解法1 开辟新数组 2 1 思路 2 2 代码实现 3 解法2 翻转法 3 1 思路 3 2 代码实现 1 题目 给定一个整数数组 nums 将数组中的元素向右轮转 k 个位置 其中 k 是非负数 示例1 输入 nu
  • 【HDLBits 刷题 6】Circuits(2)Sequential Logic---Latches and Filp Flops

    目录 写在前面 Latches and Filp Flops Dff Dff8 Dff8r Dff8p Dff8ar Dff16e D Latch DFF1 DFF2 DFF gate Mux and DFF1 Mux and DFF2 D
  • LeetCode 每日一题 2022_list

    网页链接 LeetCode 坚持住 小镁铝 2022年1月每日一题记录
  • leetcode刷题——多维枚举(一)

    题目一 思路 双指针 bool isSubsequence char s char t int fast 0 int slow 0 while slow
  • 【搜索和回溯】剑指 Offer 28. 对称的二叉树

    题目描述 请实现一个函数 用来判断一棵二叉树是不是对称的 如果一棵二叉树和它的镜像一样 那么它是对称的 示例 输入 root 1 2 2 3 4 4 3 输出 true 题解 运用DFS遍历 递归 求解 Definition for a b
  • 2022芯原芯片设计 笔试题分析和讨论

    2022芯原设计笔试题分析和讨论 以下仅为个人理解和分析 不保证正确 欢迎大家发表自己的想法 讨论出正确答案 企业知识题 1 1 D 芯原的主要经营模式为芯片设计平台即服务 Silicon Platform as a Service SiP
  • 链表【2】

    文章目录 24 两两交换链表中的节点 题目 算法原理 代码实现 143 重排链表
  • 分治-归并算法——LCR 170. 交易逆序对的总数

    文章目录 0 归并排序 1 题目 2 算法原理 3 代码实现 0 归并排序 归并排序是典型的分治 将数组分成若干个子数组 数组两两比较 不是很清楚的 可以查看此篇文章 数据结构 七大排序 这里以力扣 9

随机推荐

  • 线程与线程池的理解

    1 什么是线程 线程和进程的区别是什么 线程 程序执行流的最小执行单位 是行程中的实际运作单位 进程简单来说 一个应用程序的运行就可以被看做是一个进程 而线程 是运行中的实际的任务执行者 进程中包含了多个可以同时运行的线程 2 线程的生命周
  • LeetCode子域名访问计数-Python3.7<五>

    上一篇 LeetCode 键盘行 lt 四 gt 题目 https leetcode cn com problems subdomain visit count description 一个网站域名 如 discuss leetcode c
  • Python数据分析之——数据可视化(折线图)

    matplotlib的pyplot子库提供了和matlab类似的绘图API 方便用户快速绘制2D图表 首先我们先来看看效果图 然后 是数据 接着是代码 coding utf 8 import numpy as np import matpl
  • c语言入门----详解分支语句(if语句)

    文章目录 一 前言 二 顺序结构 三 为什么会有分支语句 四 if语句 五 if语句形式 1 if的基本形式 2 有关if的例子 3 有关if的易错提醒 六 if else语句 1 为什么会有if else语句 2 if else的基本形式
  • Canvas和SVG有什么区别

    在项目开发中也许会涉及到图形 经常用到的就是svg和canvas两种画图方式 下面就让我们看一看他们两者的区别 svg绘制出来的每一个图形的元素都是独立的DOM节点 能够方便的绑定事件或用来修改 canvas输出的是一整幅画布 svg输出的
  • RabbitMQ消息可靠性(二)-- 消费者消息确认

    一 消费者消息确认是什么 在这种机制下 消费者在接收到消息后 需要向 RabbitMQ 发送确认信息 告知 RabbitMQ 已经接收到该消息 并已经处理完毕 如果 RabbitMQ 没有接收到确认信息 则会将该消息重新加入队列 等待其他消
  • supervisor系列:2、运行supervisor

    supervisor系列 2 运行supervisor 文章目录 supervisor系列 2 运行supervisor 1 添加一个程序 2 运行supervisord 2 1 supervisord命令行配置 3 运行superviso
  • 【剑指Offer题解:java】二叉树的镜像

    文章目录 题目 分析 代码 题目 操作给定的二叉树 将其变换为源二叉树的镜像 二叉树的镜像定义 源二叉树 8 6 10 5 7 9 11 镜像二叉树 8 10 6 11 9 7 5 分析 递归交换左右子树即可 1 root null直接返回
  • 【环境配置】基于Docker配置Chisel-Bootcamp环境

    文章目录 Chisel是什么 Chisel Bootcamp是什么 基于Docker配置Chisel Bootcamp 官网下载Docker安装包 Docker换源 启动Bootcamp镜像 常用docker命令 可能产生的问题 Chise
  • Mysql获取数据库的所有表以及表所有字段信息

    mysql获取所有表以及表所有字段信息 SELECT TB TABLE SCHEMA 模式 TB TABLE NAME 表名 TB TABLE COMMENT 表名注释 COL COLUMN NAME 字段名 COL COLUMN TYPE
  • 风投与IT

    风投即风险投资 广义的风险投资泛指一切具有高风险 高潜在收益的投资 狭义的风险投资是指以高新技术为基础 生产与经营技术密集型产品的投资 根据美国全美风险投资协会的定义 风险投资是由职业金融家投入到新兴的 迅速发展的 具有巨大竞争潜力的企业中
  • vue设置不出现滚动条的全屏背景100%

    1 想在登录页面设置页面背景占比100 而且不出现滚动 首先给你所需要的元素设置好css 2 如果没生效 看下App vue中是否有定义 app的宽高 将其设置成100 3 如果综上两部设置完成还未生效 那就需要在index html文件中
  • kubernetes集群实战——资源限制(内存、CPU、NameSpace)

    1 k8s容器资源限制 Kubernetes采用request和limit两种限制类型来对资源进行分配 request 资源需求 即运行Pod的节点必须满足运行Pod的最基本需求才能 运行Pod limit 资源限额 即运行Pod期间 可能
  • MySQL必知必会 学习笔记 第一章 了解SQL

    数据库是保存有组织的数据的容器 通常是一个或一组文件 数据库软件称为DBMS 数据库管理系统 数据库是被DBMS创建和操纵的容器 数据库究竟是文件或其他东西并不重要 因为你不会直接访问数据库 而是间接通过DBMS替你访问数据库 表是某种特定
  • BootstrapTable checkbox默认选中

    BootstrapTable 在Web后台管理项目中对表格展示数据使用居多 主要是表格的多条件查询 分页 排序等功能 我们的项目中前端框架是Bootstrap 所以很多插件都是支持Bootstrap的 bootstrap table是一款非
  • 关于List的subList原理分析

    今天在看Java开发手册的时候看到这么一句话 如果需要对list某个范围内的元素进行操作 可以使用subList 任何对子列表的操作最终都会反映到原列表中 例如list subList 0 2 clear 这样的操作便会对原列表进行修改 修
  • SARScape中用sentinel-1数据做SBAS-InSAR完整流程(1/2)

    SARScape中用sentinel 1数据做SBAS InSAR完整流程 1 SABA InSAR原理简述 2 数据采集和预设 2 1 SAR数据采集 2 2 DEM数据下载与放置 2 3 精密轨道数据下载与放置 2 4 制作研究区范围矢
  • 三分钟教你小程序实现无感刷新!

    无感刷新 无感刷新对于前端来说是一项非常实用的技术 其本质是为了优化用户体验 让用户感受不到token已经过期 本质上就是登录时 储存token和refresh token 当token过期或错误时不需要用户跳回登录页重新登录 而是在响应拦
  • python读取文件名存到list_python读取文件名称生成list的方法

    下面为大家分享一篇python读取文件名称生成list的方法 具有很好的参考价值 希望对大家有所帮助 一起过来看看吧 经常需要读取某个文件夹下所有的图像文件 我使用python写了个简单的代码 读取某个文件夹下某个后缀的文件 将文件名生成为
  • 力扣 删除链表的节点

    给定单向链表的头指针和一个要删除的节点的值 定义一个函数删除该节点 返回删除后的链表的头节点 注意 此题对比原题有改动 示例 1 输入 head 4 5 1 9 val 5 输出 4 1 9 解释 给定你链表中值为 5 的第二个节点 那么在