LeetCode 237. 删除链表中的节点

目录结构

1.题目

2.题解


1.题目

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。

现有一个链表 -- head = [4,5,1,9],它可以表示为:

 

示例:

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


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

说明:

  • 链表至少包含两个节点。
  • 链表中所有节点的值都是唯一的。
  • 给定的节点为非末尾节点并且一定是链表中的一个有效节点。
  • 不要从你的函数中返回任何结果。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.题解

  • 题设只给出了要删除的节点,无法访问该节点之前的节点,因此不能修改该节点的 next 指针。
  • 故可将要删除的节点的值替换为它后面节点中的值,然后删除它之后的节点。
class Solution237 {
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }
}
  • 时间复杂度:O(1)
  • 空间复杂度:O(1)

热门文章

暂无图片
编程学习 ·

Android运行Linux程序

安卓直接运行arm-linux-gnueabi-gcc编译的标准嵌入式Linux程序,我们有时不想把原Linux程序重新开发一遍。第一步,给adb root权限运行,否则拷贝会提示无权限failed to copy E:\share\a8Agent1.0.1\a8Agent to /data/a8Agent: Permission deniedadb root 第二不,发送程序到安…
暂无图片
编程学习 ·

java后端重点

java基础,设计模式,jvm原理,spring+springmvc原理及源码,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构(dubbo,dubbox,spring cloud),弹性计算架构,微服务架构(springboot+zookeeper+docker+jenkins),java性能优化,以及相关的项目管理等…
暂无图片
编程学习 ·

ClassName(类名)命名

ClassName命名 ClassName的命名应该尽量精短、明确,必须以字母开头命名,且全部字母为小写,单词之间统一使用下划线 “_” 连接。 eg:.nav_top 注意事项 ad、banner、gg、guanggao 等有机会和广告挂勾的字眠不建议直接用来做ClassName,因为有些浏览器插件(Chrome的广告拦截…
暂无图片
编程学习 ·

数据重删和数据压缩主流技术分析

数据压缩随着计算能力的不断提升,当代社会正在产生越来越巨量的数据,数据压缩也被应用在生活的方方面面,如在网上打开的图片、视频、音频等都是经过压缩的。压缩可以分为无损压缩和有损压缩。无损压缩可以通过压缩文件完全恢复原始文件;而有损压缩则会丢失一部分信息。对于…
暂无图片
编程学习 ·

记一次spark-submi 提交python脚本 遇到的问题

一、通过spark-submit 提交报错如下 yarn运行模式spark用的版本是2.4.0是支持pandas_udf的,而且通过pyspark的shell命令行一条条执行 都是没有问题的 但是将代码作为文件用spark submit提交就报这个错误 二、解决办法: @pandas_udf(returnType=“string”, PandasUDFType.…
暂无图片
编程学习 ·

c++ string操作

c++ string操作 #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std;void test01() {///*string& operator=(const char* s)* string& operator=(const string &s)* string& operato…
暂无图片
编程学习 ·

约瑟夫生死小游戏

约瑟夫生者死者小游戏 30 个人在一条船上,超载,需要 15 人下船。 于是人们排成一队,排队的位置即为他们的编号。 报数,从 1 开始,数到 9 的人下船。 如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢? # 首先来一个超载的小船30人 people = list(range(1,3…
暂无图片
编程学习 ·

tensorflow 中tf.strided_slice和tf.slice的区别

函数:tf.slice(inputs, begin, size, name) 作用:从列表、数组、张量等对象中抽取一部分数据begin和size是两个多维列表,他们共同决定了要抽取的数据的开始和结束位置 begin表示从inputs的哪几个维度上的哪个元素开始抽取 size表示在inputs的各个维度上抽取的元素个数import…
暂无图片
编程学习 ·

产品经理新人必看的避坑指南

产品经理的一路走来,会遇到大大小小的“坑”。从毕业开始做产品经理已有7年,一直在回想自己有哪些地方做的不够好需要改进的。趁自己闲暇时间总结分享出来,希望能给产品新人一些启示。 一、不问要求埋头苦干。 产品新人刚入职的时候,因为经验不足,不太熟悉业务,往往一开始…
暂无图片
编程学习 ·

jar包用ftp协议去获取图片无法成功(IDEA可以成功)

jar包用ftp协议去获取图片无法成功(IDEA可以成功)同样的代码 在同一个服务器上运行,用idea去获取图片 可以成功,但是打成jar包去远程获取图片无法成功,拉回来的图片是0kb 同样的代码 在同一个服务器上运行,用idea去获取图片 可以成功,但是打成jar包去远程获取图片无法成…
暂无图片
编程学习 ·

ssm专题学习-spring的使用与相关项目的实现(1)

ssm专题学习-spring的使用与相关项目的实现(1)前言配置maven更改镜像创建项目更新并下载所需jar包web.xml、applicationContext.xml和spring-mvc.xml配置建立架构UserUserControllerUserDaoUserServiceIUserServiceJSP部分效果图 前言 暑期线上实训的第四节课。从今天开始课程…
暂无图片
编程学习 ·

屏蔽系统更新

win+r services.msc 改为禁用 恢复 -> 全改为无操作win + r gpedit.msc 找到windows 更新 中的 配置自动更新禁用掉注: 家庭版无法打开gpedit.msc 新建一个文本文档,名字随便取,编辑以下批处理内容,保存后将后缀名改为.bat ,右键使用管理员权限执行: @echo of…
暂无图片
编程学习 ·

什么是量化对冲

什么是量化对冲?“量化对冲”是“量化”和“对冲”两个概念的结合。“量化”指借助统计方法、数学模型来指导投资,其本质是定性投资的数量化实践。“对冲”指通过管理并降低组合系统风险以应对金融市场变化,获取相对稳定的预期年化收益。实际中对冲基金往往采用量化投资方法…
暂无图片
编程学习 ·

inotify 安装配合rsync

inotify是细粒度的实时监控结合rsync备份 inotify安装 yum install inotify-tools [root@nfs01 ~]# cd /proc/sys/fs/inotify/ [root@nfs01 inotify]# ls max_queued_events max_user_instances max_user_watches 最大可容纳事件(相当于一个池) 每个用户可以运行的进程…
暂无图片
编程学习 ·

Spring

1、概述 1.1、简介Spring:春天------>给软件行业带来了春天 2002,首次推出了Spring框架的雏形,interface21框架 Spring框架即以interface21框架为基础,重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版 Rod Johnson,Spring Framework创始人,著名作者。很…