【leetcode】19. 删除链表的倒数第N个节点

article/2025/8/20 2:15:21

删除链表的倒数第N个节点

    • 题目
    • 代码
      • 1. 获取长度
      • 2. 双指针

题目

19. 删除链表的倒数第N个节点

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

在这里插入图片描述示例 2:

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

示例 3:

输入:head = [1,2], n = 1
输出:[1]

代码

1. 获取长度

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def removeNthFromEnd(self, head, n):""":type head: Optional[ListNode]:type n: int:rtype: Optional[ListNode]"""if head is None:return Nonecur = headlenth = 0while cur:cur = cur.nextlenth += 1if lenth == n:return head.nextcur = headfor i in range(lenth-n-1):cur = cur.nextcur.next = cur.next.nextreturn head

2. 双指针

思路: 快指针先走n+1步,等到NULL时,慢指针到倒数第n个前面一个节点

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution(object):def removeNthFromEnd(self, head, n):""":type head: Optional[ListNode]:type n: int:rtype: Optional[ListNode]"""# 双指针dummy_head = ListNode(0, head)slow = fast = dummy_headfor i in range(n+1):fast = fast.nextwhile fast:slow = slow.nextfast = fast.nextslow.next = slow.next.nextreturn dummy_head.next

http://www.hkcw.cn/article/yWrVbHlVKV.shtml

相关文章

Coupang账号被封?如何有效申诉并恢复店铺?

Coupang作为韩国市场上一个重要的电商平台,已获得了不小的利润和市场份额。然而,在这个庞大的电商平台上,如果不遵守平台的规则,可能会面临店铺封号的风险。封号不仅会影响店铺的运营,严重的情况下,还可能导…

【Mac】安装 PaddleOCR

环境:Mac M1 芯片 1、安装 1.1 安装 Anaconda Anaconda 安装较为简单,直接在 Anaconda 官网 下载pkg文件,根据向导提示完成安装。 Anaconda 用于搭建 Python 虚拟环境,目的是为了避免与之前环境安装库的版本冲突,另…

VScode连接远程服务器踩坑实战(新版离线vscode-server安装)

想要用VScode连接远程服务器,但远程服务器并没有连接外网,因此需要离线手动安装vscode-server但网上的方法都是旧版本的安装,没有新版本的配置。因此记录一下我都踩坑实战。 1、VScode扩展安装与配置 (1)vscode扩展安…

在Pycharm中新建虚拟环境的方法并使用

一、什么是虚拟环境 虚拟环境就是在本地创建一个独立的Python环境,这个环境拥有自己的独立的Python解释器和包管理器,不与系统环境和其他虚拟环境产生干扰。可以很好地避免Python版本和第三方库的冲突,实现项目 二、本教程的环境 已安装&am…

使用pycharm导入conda环境解释器时出现no conda environment selected

工具:pycharm 2024 3.1.1(Professional Edition), Anaconda3-5.3.1 出现问题:在Add Python Interpreter界面中已经正确选中了conda路径,也选中了正确的Environment,仍然提示no conda environment selected 1.从当前工程中导入co…

MySQL连接IDEA(Java Web)保姆级教程

第一步:新建项目(File)->Project 第二步:New Project(JDK最好设置1.8版本与数据库适配,详细适配网请到MySQL官网查询MySQL :: MySQL 8.3 Reference Manual :: Search Results) 第三步:点中MySQLTest(项目名)并连续双击shift键-…

【Linux系统】第四节—详解yum+vim

hello 我是云边有个稻草人 Linux—本节课所属专栏—欢迎订阅—持续更新中~ 目录 画板—本节课知识点详解 一、软件包管理器 1.1 什么是软件包 1.2 Linux软件⽣态 1.3 yum具体操作 【查看软件包】 【安装软件】 【卸载软件】 【注意事项】 1.4 安装源 二、vim 2.1 …

国内CentOS使用yum安装docker和docker-compose

安装docker 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖 yum install -y yum-utils device-mapper-persistent-data lvm2下载yum源采用阿里云的镜像源 wget -O /etc/yum.repos.d/docker-ce.repo https://mi…

BeyondCompare安装(永久免费使用+全网最详细版)

一.下载: 官网下载(速度较慢): https://www.scootersoftware.com/download.php 阿里云盘(不限速) https://www.alipan.com/s/WaG1z54BQ2U 二.安装(无脑下一步即可) 三.永久免费…

Cursor编辑器各种问题、报错与解决方案(仅供参考)

目录 1.安装问题: 2.设备提示、额度提示相关问题(免费白嫖用户高频问题): 问题一:设备多次试用限制 解决方案:一键重置设备ID(更换机器码) 🟡 问题二:API…

VSCode 中 C/C++ 安装、配置、使用全攻略:小白入门指南

引言 本文为Windows系统下安装配置与使用VSCode编写C/C代码的完整攻略,示例机器为Windows11。 通过本文的指导,你可以成功在Windows 机器上上使用VSCode进行C/C开发。 在文章开始之前,你可以先阅读下面这段话,以便于对步骤有个大…

VScode一直处于循环“正在重新激活终端“问题的解决方法

文章目录 一、问题二、尝试尝试的以下方法均无效 三、有效方式解决方法解决原理 一、问题 本人打开“.py”文件后,同时会出现以下两个问题。 1、VScode一直循环在”正在重新激活终端“,如下图所示。 2、日志显示intellicode报错: Sorry, …

语义分割 one-hot编码

GitHub - luwill/Deep-Learning-Image-Segmentation: Deep Learning Image Segmentation: Theory and Practice

【Linux】关于权限的理解

目录 一、Linux用户的分类 1.Linux下的两种用户 2.两种用户提示符的区别 3.用户的切换方法 二、Linux的权限管理 1.文件访问者分类 2.常见文件类型 3.文件访问权限 4.权限检查逻辑 5.文件权限的表示方式 三、与文件访问权限相关的设置方法 1.前提: 2.如…

中国造船产业新接订单量领跑全球 市场韧性强劲

在当前复杂的全球贸易形势下,中国造船产业表现出强劲的市场韧性与竞争力。今年1-4月,我国造船产业新接订单量占世界市场份额继续保持全球第一。许多造船企业订单饱满,生产任务已排至几年之后。下午三点,在辽宁大连一家造船企业的码头上,一艘16000标箱的集装箱船完成交付,…

卸载向日葵后电脑屏幕无法调节亮度

今天电脑一打开仿佛看见了圣光,我以为是我嘎了,没想到是电脑嘎了啊,哈哈^_^ 尝试按键盘的屏幕亮度调节,没反应,去“系统”/“屏幕”的设置里,根本没有亮度这一栏,开始怀疑人生。。。 去网上搜…

解构产品经理

一.产品经理的基本定位:参与产品的出生到发布以及后续的运营。 二.产品经理的类型: 1.职能:功能、策略、行业应用、增长、产品运营。 2.服务对象:toc、tob、tog。 3.终端:PC客户端、移动APP端、Web端、TV端、手表端…

WTT祝贺王曼昱蒯曼女双世界第1 双曼组合首登顶

北京时间5月29日,WTT官网更新了最新一期女子双打世界排名。王曼昱和蒯曼组合以4175分登顶世界第一,这是她们首次获得这一荣誉。在不久前结束的多哈世乒赛上,王曼昱和蒯曼以3比0战胜跨国组合波尔卡诺娃(奥地利)和斯佐科斯(罗马尼亚),夺得冠军,并收获了2000个积分。这使…

多线程的一些概念

线程上下文切换 单核处理器也支持多线程执行代码吗? 是的,CPU 通过给每个线程分配 CPU 时间片来实现 这个机制。时间片是 CPU 分配给各个线程的时间,因为时间片非常短。 所以 CPU 通过不停地切 换线程执行,让我们感觉多个线程是同…

嵌入式学习笔记 - freeRTOS 阻塞延时的实现机制,同时避免在中断中扫描停留

一 freeRTOS 阻塞延时到期激活的实现机制,同时避免在中断中扫描停留 任务在激活阻塞时先根据延时时间赋值NextTaskUnlockTime,再扫描延时列表的所有节点,然后根据延时时间确定插入链表的什么位置,如下图: 上图中横线就…