当前位置: 首页 > news >正文

算法1(蓝桥杯18)-删除链表的倒数第 N 个节点

问题:

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

输入:head = 1 -> 2 -> 3 -> 4 -> 5 -> null, n = 2
输出:1 -> 2 -> 3 -> 5 -> null
输入:head = 1 -> null, n = 1
输出:null
输入:head = 1 -> 2 -> null, n = 1
输出:1 -> null

解题思路:

使用快慢指针

(1)创建虚拟节点,简化边界条件的处理(这里虚拟节点的值不重要)

        

(2)创建快慢指针,指向虚拟节点

        

(3)使用循环让快指针先移动n步(假设删除倒数第2个节点)

        

(4)通过循环条件快指针的下一位不为空,使慢指针位于到被删除节点的前一个位置

(5)删除节点

        

完整代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>删除链表的倒数第 N 个节点</title>
</head>
<body><p>给你一个链表,删除链表的倒数第 n 个节点,并且返回链表的头节点。</p><p>输入:head = 1 -> 2 -> 3 -> 4 -> 5 -> null, n = 2输出:1 -> 2 -> 3 -> 5 -> null</p>
</body>
<script>class LinkList {constructor(val,next){this.val=valthis.next=next}}let head = new LinkList(1)head.next = new LinkList(2)head.next.next = new LinkList(3)head.next.next.next = new LinkList(4)head.next.next.next.next = new LinkList(5)removeNthFromEnd(head,2)function removeNthFromEnd(head, n) {let node = {val: 0,next: head}let f = s = node while (n-- > 0) {f = f.next}while (f != null && f.next != null) {f = f.nexts = s.next}s.next = s.next.next console.log(node.next);return node.next}</script>
</html>

相关文章:

算法1(蓝桥杯18)-删除链表的倒数第 N 个节点

问题&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个节点&#xff0c;并且返回链表的头节点。 输入&#xff1a;head 1 -> 2 -> 3 -> 4 -> 5 -> null, n 2 输出&#xff1a;1 -> 2 -> 3 -> 5 -> null输入&#xff1a;head 1 ->…...

【PyTorch】动态调整学习率 torch.optim.lr_scheduler.StepLR 调度器

文章目录 1. torch.optim.lr_scheduler.StepLR 官方文档详解2. 使用示例2.1 官方提供使用示例2.2 自己写代码测试方法2.2.1 get_last_lr() 方法2.2.2 state_dict() 方法2.2.3 load_state_dict() 保存和加载调度器 3. 思考3.1 为什么需要state_dict()3.2 get_lr() 与 get_last_l…...

AIGC drug design 人工智能生成式药物设计:基于 GPT 的 SMILES 生成与应用

人工智能生成式药物设计&#xff1a;基于 GPT 的 SMILES 生成与应用 1. 人工智能生成模型&#xff1a;解密 GPT 的工作原理 目录 引言 1.1 背景介绍 1.2 人工智能生成模型的兴起 1.3 GPT 系列模型的地位与影响 GPT 模型概述 2.1 什么是 GPT 2.2 GPT 的发展历程 2.3 GPT 与其…...

Python面试常见问题及答案4

一、内存管理相关 问题&#xff1a;Python中的垃圾回收机制是如何工作的&#xff1f; 答案&#xff1a;Python主要使用引用计数来进行垃圾回收&#xff0c;当对象的引用计数为0时&#xff0c;该对象就会被垃圾回收器回收。此外&#xff0c;Python还有一个循环垃圾收集器来处理循…...

开启第二阶段---蓝桥杯

一、12.10--数据类型的范围及转化 今天是刚开始&#xff0c;一天一道题 对于这道题我想要记录的是Java中的整数默认是 int 类型&#xff0c;如果数值超出了 int 的范围&#xff0c;就会发生溢出错误。为了避免这个问题&#xff0c;可以将数字表示为 long 类型&#xff0c;方法…...

npm内存溢出

项目过大运行项目内存溢出 报错代码 运行内存溢出 increase-memory-limit ‘“node --max-old-space-size8192”’ 不是内部或外部命令&#xff0c;也不是可运行的程序 FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of m…...

回归预测 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多输入单输出回归预测预测效果基本介绍程序设计参考资料预测效果 基本介绍 CNN-BiGRU,即卷积神经网络(CNN)与双…...

Android系统卡启动问题排查

Android系统启动正常来说会涉及到如下几个过程&#xff1a; 引导加载程序&#xff08;Bootloader&#xff09;Linux内核&#xff08;Kernel&#xff09;&#xff0c;负责硬件抽象、内存管理、进程管理、网络堆栈等init进程 init进程读取init.rc配置文件&#xff0c;用于启动各…...

STP(生成树协议)

STP的基本概念 概述 STP是一个用于局域网中消除环路的协议。运行该协议的设备通过彼此交互信息而发现网络中的环路&#xff0c;并对某些接口进行阻塞以消除环路。STP在网络中运行后会持续监控网络的状态&#xff0c;当网络出现拓扑变更时&#xff0c;STP能够感知并且进行自动…...

【前端面试】随机、结构赋值、博弈题

解构赋值&#xff08;Destructuring Assignment&#xff09;是 JavaScript ES6 引入的一项非常有用的特性&#xff0c;它允许我们快速地从数组或对象中提取值&#xff0c;并将它们赋给变量。这种方式使得代码更加简洁、易读&#xff0c;并且能够减少重复的访问和赋值操作。 1.…...

Volta——开箱即用的Node.js 版本管理工具

Volta volta 是一个较新的 Node.js 版本管理器&#xff0c;旨在简化 Node.js 和其他工具的安装和管理&#xff0c;在 2019 年出世&#xff0c;仍在积极开发中。Volta 采用了与 nvm 不同的方法&#xff1a;它不是管理 Node.js 的多个版本&#xff0c;而是管理项目及其依赖项。当…...

ubuntu 磁盘空间满,找不到占用文件的目录

解决方法&#xff1a; 检查磁盘空间&#xff1a; 执行 df -h 查看各分区磁盘使用情况。 查找大文件或目录&#xff1a; 执行 du -sh /* 2>/dev/null 查找根目录下的大文件或目录&#xff0c;再逐一进入子目录使用相同命令查找。 清理缓存和临时文件&#xff1a; 清理 /t…...

1. 机器学习基本知识(5)——练习题(参考答案)

20.&#x1f517;本章代码笔记&#x1f4d3;链接&#xff08;需要&#x1fa9c;&#xff09;&#xff1a;&#xff08;01_the_machine_learning_landscape.ipynb - Colab (google.com)&#xff09; 如果你不想通过上面的官方网址下载本章的笔记&#xff0c;还可以在本篇博文的…...

spark-sql 备忘录

wordcount sc.textFile("../data/data.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(__).collect 读取json 文件 并通过sql 执行 join 查询 public static void main(String[] args) {SparkSession session SparkSession.builder().master(&qu…...

基于softmax回归的多分类

基于softmax回归的多分类任务是机器学习领域中的一种常见应用。softmax回归,又称多项逻辑回归或多类逻辑回归,是逻辑回归在多分类问题上的推广。以下是对基于softmax回归的多分类任务的详细解释: 一、softmax回归的原理 softmax回归的核心思想是通过softmax函数将输入数据…...

bs4基本运用

1. bs4基本使用 1.1. 简介 bs4的全称为 BeautifulSoup。和lxml一样&#xff0c;是一个html的解析器&#xff0c;主要功能也是解析数据和提取数据 。 本模块作为了解模块&#xff0c;实际开发中很少用这个模块去解析数据&#xff0c;大家可能会想为什么这个模块会逐渐被淘汰&…...

MySQL 时区参数 time_zone 详解

文章目录 前言1. 时区参数影响2. 如何设置3. 字段类型选择 前言 MySQL 时区参数 time_zone 有什么用&#xff1f;修改它有什么影响&#xff1f;如何设置该参数&#xff0c;本篇文章会详细介绍。 1. 时区参数影响 time_zone 参数影响着 MySQL 系统函数还有字段的 DEFAULT CUR…...

Redis - 消息队列 Stream

一、概述 消息队列 定义 消息队列模型&#xff1a;一种分布式系统中的消息传递方案&#xff0c;由消息队列、生产者和消费者组成消息队列&#xff1a;负责存储和管理消息的中间件&#xff0c;也称为消息代理&#xff08;Message Broker&#xff09;生产者&#xff1a;负责 产…...

Docker:国内加速源

阿里云docker加速云&#xff1a; sudo tee /etc/docker/daemon.json <<EOF { “registry-mirrors”: [“https://euf11uji.mirror.aliyuncs.com”] } EOFhttps://docker.mozhu.dev/ sudo tee /etc/docker/daemon.json <<EOF {"registry-mirrors": [&qu…...

Android Studio更改项目使用的JDK

一、吐槽 过去&#xff0c;在安卓项目中配置JDK和Gradle的过程非常直观&#xff0c;只需要进入Android Studio的File菜单中的Project Structure即可进行设置&#xff0c;十分方便。 原本可以在这修改JDK: 但大家都知道&#xff0c;Android Studio的狗屎性能&#xff0c;再加…...

Windows CE嵌入式开发:实时USB设备插拔监控与信息持久化实战

1. 项目概述与核心思路 在嵌入式开发&#xff0c;尤其是涉及数据采集、文件交换或外设管理的项目中&#xff0c;实时感知USB设备的插拔状态是一个高频且关键的需求。想象一下&#xff0c;你正在开发一个工业数据记录仪&#xff0c;需要自动将U盘中的数据导入系统&#xff0c;或…...

在国产飞腾ARM平台(银河麒麟V10)上搞定WireGuard编译:一个内核版本不匹配的实战修复记录

在国产飞腾ARM平台&#xff08;银河麒麟V10&#xff09;上搞定WireGuard编译&#xff1a;内核兼容性深度解析与实战 国产化替代浪潮下&#xff0c;越来越多的企业和机构开始将关键业务迁移到国产操作系统和硬件平台。银河麒麟V10作为国产操作系统的代表之一&#xff0c;搭配飞…...

5分钟搞定专业网络拓扑图:easy-topo终极使用指南

5分钟搞定专业网络拓扑图&#xff1a;easy-topo终极使用指南 【免费下载链接】easy-topo vuesvgelement-ui 快捷画出网络拓扑图 项目地址: https://gitcode.com/gh_mirrors/ea/easy-topo 还在为绘制复杂的网络架构图而头疼吗&#xff1f;网络拓扑图是网络工程师、系统管…...

chatgpt-web-midjourney-proxy的插件系统:扩展AI功能的开发指南

chatgpt-web-midjourney-proxy的插件系统&#xff1a;扩展AI功能的开发指南 在当今AI应用快速发展的时代&#xff0c;chatgpt-web-midjourney-proxy项目以其强大的插件系统脱颖而出&#xff0c;为开发者提供了无限扩展AI功能的可能性。这个项目不仅整合了ChatGPT、Midjourney和…...

2026年做了一个大胆的决定:我要收徒弟了!

如果你已经在测试/开发领域摸爬滚打几年&#xff0c;一定有过这样的困惑&#xff1a;• 报了很多课&#xff0c;学了很多工具/框架/技术&#xff0c;但遇到真实项目问题依然无从下手• 想转型测开/管理/AI测试&#xff0c;却不知道自己的短板到底在哪• 职场遇到瓶颈&#xff0…...

asnumpy:NPU 原生的 NumPy 体验

如果你用 Python 做 AI 开发&#xff0c;大概率写过类似这样的代码&#xff1a;用 NumPy 预处理数据&#xff0c;把结果转成 PyTorch Tensor&#xff0c;推理完再转回 NumPy 做后处理。这个过程里数据在 CPU 和 NPU 之间来回拷贝了一次&#xff0c;拖慢了整体速度。 CANN 的 a…...

用GEE和Landsat 8数据,5步搞定城市生态健康“体检报告”(附完整代码)

城市生态健康体检实战&#xff1a;用GEE和Landsat 8生成可视化评估报告 城市规划师和环保工作者常常需要快速评估城市生态状况&#xff0c;但传统方法耗时费力。Google Earth Engine&#xff08;GEE&#xff09;平台结合Landsat 8数据&#xff0c;为我们提供了一种高效解决方案…...

AMD GPU本地AI模型部署终极指南:ollama-for-amd让你的Radeon显卡焕发新生

AMD GPU本地AI模型部署终极指南&#xff1a;ollama-for-amd让你的Radeon显卡焕发新生 【免费下载链接】ollama-for-amd Get up and running with Llama 3, Mistral, Gemma, and other large language models.by adding more amd gpu support. 项目地址: https://gitcode.com/…...

用Sunshine搭建私人游戏串流服务器:从零到畅玩的完整指南

用Sunshine搭建私人游戏串流服务器&#xff1a;从零到畅玩的完整指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否想过将高性能游戏电脑变成随时可用的云游戏服务器&…...

STM32 FSMC外部存储器接口配置与调试实战指南

1. 项目概述&#xff1a;为什么FSMC是STM32连接外部存储器的“瑞士军刀”如果你玩过STM32&#xff0c;尤其是那些带屏幕、需要大容量数据缓存或者要跑复杂UI的型号&#xff0c;比如F1、F4、H7系列&#xff0c;那你大概率绕不开一个外设&#xff1a;FSMC&#xff0c;全称Flexibl…...