双向链表删除节点时间复杂度_Leetcode简洁笔记 第19题:删除链表的倒数第N个节点...

2023-11-13

给定一个链表,删除链表的倒数第 N 个节点,并且返回链表的头结点。


本文答案参考自leetcode官方题解。

【方法1】先遍历再删除【时间复杂度:O(L) 空间复杂度:O(1) 】

删除链表的倒数第 N 个节点 即 删除链表的 第(L - n + 1) 个节点。

因为我们不知道链表的长度L,所以我们需要先遍历一遍链表来获取L,然后再遍历链表找到要删除的位置进行删除操作。

删除的操作为:(看图,你懂我意思吧[灵光一闪])

这里我们引入 结点 的概念:添加一个哑结点(dummy node)作为辅助,该结点位于链表头部,用来简化某些极端情况,例如链表中只含有一个结点,或需要删除列表的头部。

【方法2】遍历的同时删除【时间复杂度:O(L) 空间复杂度:O(1) 】

使用两个指针(不妨设为 a,b ),开始时都指向结点

神奇操作来了:

  1. 将 a 指针向前移动,使 a 和 b 相隔 N
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

双向链表删除节点时间复杂度_Leetcode简洁笔记 第19题:删除链表的倒数第N个节点... 的相关文章

  • Yii Framework 开发教程(34) Zii组件-AutoComplete示例

    CJuiAutoComplete 在用户输入时可以根据用户输入的前几个字符自动提示用户可以输入的文字 它封装了 JUI autocomplete插件 基本用法如下 php view plain copy print
  • vue3优雅实现移动端登录注册模块

    前言 近期开发的移动端项目直接上了vue3 新特性composition api确实带来了全新的开发体验 开发者在使用这些特性时可以将高耦合的状态和方法放在一起统一管理 并能视具体情况将高度复用的逻辑代码单独封装起来 这对提升整体代码架构的
  • VUE element-ui 之table表格表头插入输入框

    很简单
  • 手把手教你安装RabbitMQ(基于CentOS7系统)

    RabbitMQ简介及安装 什么是RabbitMQ RabbitMQ的特点 安装 安装Erlang 配置Erlang环境变量 验证环境 安装RabbitMQ 启动RabbitMQ 添加用户 访问 什么是RabbitMQ RabbitMQ是一
  • 财富自由?五年后为什么他月入十万,而我月入六千

    最近无论是在社群里还是 各种付费平台上 都能看到闪闪发光的一个词 财富自由 我好奇地去搜索了一下百度百科 财富自由是指 你无需为生活开销而努力 为钱工作的状态 简单的说 你的资产产生的被动收入 至少等于或超过你的日常开支 这是我们大多数人最
  • int、float和double的字节及位码

    int类型 4字节32位 第一位 符号位 2 9位 阶位 指数位 10 32位 普通数值位 0 00000000 00000000000000000000001 flaot类型 4字节32位 第一位 符号位 2 9位 阶位 指数位 10 3
  • 神经网络优化(二) - 激活函数和损失函数

    1 神经网络中的激活函数activation function 1 1 引入激活函数概念 神经网络的基本构成单元是神经元 在搭建神经网络一文中使用的神经元模型为 这个神经元模型是较为简化的基本神经元模型 还有一种理论模型包含有激活函数和偏置
  • live555学习之二RTSP协议说明

    RTSP协议 是一种基于C S架构的并用于双方通信约定的流媒体协议 全称实时流协议 Real Time Streaming Protocol 集成了网络实时控制 数据传输接收功能 客户端遵循协议发送指令控制多媒体的资源的功能如播放 暂停 停
  • row format delimited fields terminated by ','

    row format delimited fields terminated by 以 结尾的行格式分隔字段
  • base64图片编码大小与原图文件大小之间的联系

    base64图片编码大小与原图文件大小之间的联系 有时候我们需要把canvas画布的图画转换成图片输出页面 而用canvas生成的图片就是base64编码的 它是由数字 字母等一大串的字符组成的 但是我们需要获取它的文件流大小该怎么办呢 B
  • 题解-equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y;

    Problem Description Now given the equation 8 x 4 7 x 3 2 x 2 3 x 6 Y can you find its solution between 0 and 100 br Now
  • Docker 容器安全风险和防御综述

    摘要 Docker是目前最具代表性的容器平台之一 它的安全问题引起了产业界和学术界的广泛关注 首先 对Docker架构以及基本安全特性进行介绍 分析了Docker面临的安全威胁 其次 对Docker增强 安全检测 瘦身等方面的安全技术进行了
  • JSONArray操作汇总,排序,筛选,分组

    JSONArray操作汇总 一 排序 1 根据集合对象中某一对象属性进行排序 返回新的集合 2 List进行排序 返回新的List 注意 并没有改变原始list的顺序 二 筛选 1 获取集合对象中某一属性值 2 获取集合对象中某一属性值并去
  • JavaWeb基础7——会话技术Cookie&Session

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud SpringCloudAlibaba 黑马旅游 谷粒商城 目录 一 会话技术 1 1 会话和跟踪技术介绍 1 2
  • 【华为OD机试 2023】 查找单入口空闲区域(C++ Java JavaScript Python)

    华为od机试题库 华为OD机试2022 2023 C Java JS Py https blog csdn net banxia frontend category 12225173 html 华为OD机试2023最新题库 更新中 C Ja
  • npm安装依赖至指定版本的方法

    简介 本文介绍npm安装依赖至指定版本的方法 依赖的版本可以在淘宝镜像或官方查询到 三种方法 方法一 先在package json里修改好指定版本号 然后输入 npm update webpack 方法二 npm update webpac
  • 【从推理出发】

    赌上爷爷之名 2021年暑假 和现在一样 也是很佛 不想好好学习的时间 8月的天气太过炎热 有时却又暴雨倾盆 很不讨喜 只得在家闲着看电视 动漫打发时间 按照以前的习惯 一般是悠闲地躺在沙发上吹着空调 看着长达900多集的柯南 然后在剧情中
  • spring cloud gateway 自定义负载均衡

    spring cloud gateway 自定义负载均衡 相关类及接口 LoadbalancerClientFilter 使用ribbon负载均衡 默认使用该类 已不推荐使用 deprecated Deprecated public cla
  • 伙计,Go项目怎么使用枚举?

    前言 哈喽 大家好 我是asong 枚举是一种很重要的数据类型 在java C语言等主流编程语言中都支持了枚举类型 但是在Go语言中却没有枚举类型 那有什么替代方案吗 本文我们来聊一聊这个事情 为什么要有枚举 我们以java语言为例子 在J

随机推荐