飞跃高山与大洋的鱼飞跃高山与大洋的鱼
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
  • ALGORITHMS

    • 算法
    • 两数之和
    • 整数反转
    • 字符串转换整数 (atoi)
    • 回文数
    • 罗马数字转整数
    • 最长公共前缀
    • 删除链表的倒数第 N 个结点
      • 双指针
    • 有效括号
    • 合并两个有序链表
    • 删除排序数组中的重复项
    • 移除元素
    • 实现 strStr
    • 搜索插入位置
    • 有效的数独
    • 外观数列
    • 旋转图像
    • 最大子序和
    • 跳跃游戏
    • 最后一个单词的长度
    • 加一
    • 求平方根
    • 爬楼梯
    • 删除排序链表中的重复元素
    • 合并两个有序数组
    • 二叉树的中序遍历
    • 验证二叉搜索树
    • 相同的树
    • 对称二叉树
    • 二叉树的层序遍历
    • 二叉树的最大深度
    • 将有序数组转为二叉搜索树
    • 平衡二叉树
    • 二叉树的最小深度
    • 路径总和
    • 杨辉三角
    • 杨辉三角 II
    • 买卖股票的最佳时机
    • 验证回文串
    • 只出现一次的数字
    • 环形链表
    • 二叉树的前序遍历
    • 二叉树的后序遍历
    • 最小栈
    • 相交链表
    • 两数之和 II - 输入有序数组
    • Excel 表列名称
    • 多数元素
    • Excel 表列序号
    • 组合两个表
    • 超过经理收入的员工
    • 超找重复的电子邮箱
    • 从不订购的客户
    • 颠倒二进制位
    • 位 1 的个数
    • 有效电话号码
    • 第十行
    • 删除重复的电子邮箱
    • 上升的温度
    • 打家劫舍
    • 快乐数
    • 移除链表元素
    • 计数质数
    • 同构字符串
    • 反转链表
    • 打家劫舍 II
    • 存在重复元素
    • 存在重复元素 II
    • 用队列实现栈
    • 翻转二叉树
    • 汇总区间
    • 2 的幂
    • 用栈实现队列
    • 回文链表
    • 二叉搜索树的最近公共祖先
    • 删除链表中的节点
    • 有效的字母异位词
    • 二叉树的所有路径
    • 各位相加
    • 丑数
    • 丢失的数字
    • 第一个错误的版本
    • 移动零
    • 单词规律
    • Nim 游戏
    • 区域和检索 - 数据不可变
    • 零钱兑换
    • 3 的幂
    • 比特位计数
    • 4 的幂
    • 反转字符串
    • 反转字符串中的元音字母
    • 两个数组的交集
    • 两个数组的交集 II
    • 有效的完全平方数
    • 猜数字大小
    • 赎金信
    • 打乱数组
    • 字符串中的第一个唯一字符
    • 找不同
    • 判断子序列
    • 二进制手表
    • 左子叶之和
    • 数字转换为十六进制数
    • 最长回文串
    • Fizz Buzz
    • 第三大的数
    • 字符串相加
    • 字符串中的单词数
    • 排列硬币
    • 找到数组中消失的所有数字
    • 分发饼干
    • 重复的子字符串
    • 汉明距离
    • 岛屿的周长
    • 数字的补数
    • 密钥格式化
    • 最大连续 1 的个数
    • 构造矩形
    • 提莫攻击
    • 下一个更大元素 I
    • 键盘行
    • 二叉搜索树中的众数
    • 七进制数
    • 相对名次
    • 完美数
    • 斐波那契数
    • 检测大写字母
    • 最长特殊序列 Ⅰ
    • 二叉搜索树的最小绝对差
    • 反转字符串 II
    • 二叉树的直径
    • 学生出勤记录 I
    • 反转字符串中的单词 III
    • N 叉树的最大深度
    • 数组拆分
    • 二叉树的坡度
    • 重塑矩阵
    • 另一棵树的子树
    • 分糖果
    • N 叉树的前序遍历
    • N 叉树的后序遍历
    • 最长和谐子序列
    • 大的国家
    • 超过 5 名学生的课
    • 范围求和
    • 两个列表的最小索引总和
    • 种花问题
    • 根据二叉树构造字符串
    • 合并二叉树
    • 有趣的电影
    • 变更性别
    • 三个数的最大乘积
    • 二叉树的层平均值
    • 子数组最大平均数
    • 错误的集合
    • 两数之和 IV - 输入 BST
    • 机器人能否返回原点
    • 图片平滑器
    • 二叉树中第二小的节点
    • 最长连续递增序列
    • 验证回文字符串 Ⅱ
    • 棒球比赛
    • 交替位二进制数
    • 二叉搜索树中的搜索
    • 设计哈希集合
    • 设计哈希映射
    • 转换成小写字母
    • 寻找数组的中心下标
    • 使用最小花费爬楼梯
    • 至少是其他数字两倍的最大数
    • 宝石与石头
    • 保持城市天际线
    • 可以被一步捕获的棋子数
    • 第 N 个泰波那契数
    • 一年中的第几天
    • 比赛中的配对次数
    • 截断句子

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

双指针

function removeNthFromEnd(head: ListNode | null, n: number): ListNode | null {
  let dummy = new ListNode(0, head)
  let fast = dummy, slow = dummy

  // 快指针先走 n 步
  while (n--) {
    fast = fast.next
    if (fast === null) return dummy.next
  }
  while (fast.next) {
    fast = fast.next
    slow = slow.next
  }
  // 修改指向
  slow.next = slow.next.next
  return dummy.next
}
编辑文档!
上次更新:
贡献者: shanyuhai123
Prev
最长公共前缀
Next
有效括号