首页 > 其他分享 >删除链表倒数第n个节点

删除链表倒数第n个节点

时间:2024-05-31 21:54:48浏览次数:20  
标签:slow ListNode fast next 链表 public dummyHead 节点 倒数第

leetcode : 19 题。

思路:定义快慢指针,让快指针先走n步,如何同时移动快慢指针,当快指针走到尾时,慢指针刚好是倒数第n个元素(的前一个)。

例:删除倒数第二个节点。n=2;

    slow   fast

      ↓     ↓ 

a->b->c->d->e->null
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public int val;
 *     public ListNode next;
 *     public ListNode(int val=0, ListNode next=null) {
 *         this.val = val;
 *         this.next = next;
 *     }
 * }
 */
public class Solution {
    public ListNode RemoveNthFromEnd(ListNode head, int n) {
        var dummyHead = new ListNode();
        dummyHead.next = head;
        var slow = dummyHead;
        var fast = dummyHead;

        //先将fast移动n步
        while(n > 0 && fast.next != null)
        {
            fast = fast.next;
            n--;
        }
        //同时移动 fast slow
        while(fast.next != null)
        {
            fast=fast.next;
            slow =slow.next;
        }

        slow.next = slow.next.next;
        return dummyHead.next;

    }
}

标签:slow,ListNode,fast,next,链表,public,dummyHead,节点,倒数第
From: https://www.cnblogs.com/ChuanC/p/18225332

相关文章

  • 链表的练习
    目录一、链表的反转二、查找中间节点三、查找倒数第k个节点四、整合两个链表五、判断是否回文一、链表的反转对单链表进行反转,把头节点置为空,然后将头节点后面的节点依次插入到头节点的前面。publicListNodeReverseList(){if(head==null){//链表为空......
  • 【二叉树】Leetcode 129. 求根节点到叶节点数字之和【中等】
    求根节点到叶节点数字之和给你一个二叉树的根节点root,树中每个节点都存放有一个0到9之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径1->2->3表示数字123。计算从根节点到叶节点生成的所有数字之和。叶节点是指没有......
  • 模型节点操作学习笔记(Appendix)实验1 -- Tflite int8 删除最后的Round节点 (持续更新)
    背景如下:我要删除Round节点,同时看了一下,Dequantize和Quantize也是没有必要的。所以最好一起删除。原始项目地址:PINTO0309/hand-gesture-recognition-using-onnx:ThisisahandgesturerecognitionprogramthatreplacestheentireMediaPipeprocesswithONNX.Simultane......
  • 一千题,No.0039(反转链表)
    给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为1→2→3→4→5→6,K 为3,则输出应该为3→2→1→6→5→4;如果 K 为4,则输出应该为4→3→2→1→5→6,即最后不到 K 个元素不反转。输入格式:每个输入包含1个测试用例。每个测试......
  • 模型节点操作学习笔记(1)--SavedModel详解
    参考:使用SavedModel格式 | TensorFlowCore(google.cn) (持续更新)   SavedModel是一个包含序列化签名和运行这些签名所需的状态的目录,其中包含变量值和词汇表。$ls{mobilenet_save_path}assetsfingerprint.pbsaved_model.pbvariablesassets目......
  • 链表9(优化版)7-9 sdut-C语言实验-约瑟夫问题
    7-9sdut-C语言实验-约瑟夫问题分数20全屏浏览切换布局作者 马新娟单位 山东理工大学n个人想玩残酷的死亡游戏,游戏规则如下:n个人进行编号,分别从1到n,排成一个圈,顺时针从1开始数到m,数到m的人被杀,剩下的人继续游戏,活到最后的一个人是胜利者。请输出最后一个人的编号......
  • Jenkins主从节点配置,控制多台打包机
    概述:一台机器,控制多台打包机。一台机器(命名为master)作为master机器,安装部署Jenkins,并且安装ssh插件 Publish Over SSH。master机器上,通过ssh登录从节点机器(命名为:slave)。slave机器,不需要安装jenkins环境。 1、master机器Jenkins:https://www.jenkins.io/zh/download/,安装Jenk......
  • 环形链表II
    前两天一直在debug,今天才有时间好好刷一下力扣,今天在代码随想录上看到环形链表,链接如下:https://leetcode.cn/problems/linked-list-cycle-ii/description/这道题官方有两种解法,一种是相对比较简单的哈希表,还有一种是利用数学计算出他们的规律进而解题。首先说第二种,在示例中......
  • 代码随想录算法训练营第第22天 | 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中
    二叉搜索树的最近公共祖先相对于二叉树的最近公共祖先本题就简单一些了,因为可以利用二叉搜索树的特性。题目链接/文章讲解:https://programmercarl.com/0235.二叉搜索树的最近公共祖先.html视频讲解:https://www.bilibili.com/video/BV1Zt4y1F7ww/***@param{TreeNode}......
  • 代码随想录算法训练营第二十二天 | 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中
    235.二叉搜索树的最近公共祖先题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/文档讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91%E5%85%AC%E5%85%B1%E7%A5%......