当前位置: 首页 > 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>

http://www.lryc.cn/news/504512.html

相关文章:

  • 【PyTorch】动态调整学习率 torch.optim.lr_scheduler.StepLR 调度器
  • AIGC drug design 人工智能生成式药物设计:基于 GPT 的 SMILES 生成与应用
  • Python面试常见问题及答案4
  • 开启第二阶段---蓝桥杯
  • npm内存溢出
  • 回归预测 | MATLAB实现CNN-BiGRU卷积神经网络结合双向门控循环单元多输入单输出回归预测
  • Android系统卡启动问题排查
  • STP(生成树协议)
  • 【前端面试】随机、结构赋值、博弈题
  • Volta——开箱即用的Node.js 版本管理工具
  • ubuntu 磁盘空间满,找不到占用文件的目录
  • 1. 机器学习基本知识(5)——练习题(参考答案)
  • spark-sql 备忘录
  • 基于softmax回归的多分类
  • bs4基本运用
  • MySQL 时区参数 time_zone 详解
  • Redis - 消息队列 Stream
  • Docker:国内加速源
  • Android Studio更改项目使用的JDK
  • ubuntu+ros新手笔记(四):gazebo无法加载
  • vue季度选择器(antd2.0 版本无此控件,单独写一个)
  • C/C++代码性能优化技巧的书籍及资料
  • 通俗易懂的 Nginx 反向代理 配置
  • docker设置容器自动启动
  • 蓝桥杯刷题——day1
  • Leetcode 面试150题 399.除法求值
  • 活动预告 |【Part2】Microsoft 安全在线技术公开课:安全性、合规性和身份基础知识
  • Unity游戏实战
  • SQL中的替换函数replace() 使用
  • Python面试常见问题及答案5