首页 > 其他分享 >19. 删除链表的倒数第 N 个结点

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

时间:2022-10-13 20:13:06浏览次数:89  
标签:head 删除 19 节点 链表 dummyNode 倒数第

题目描述

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

样例输入

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

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

代码参考

var removeNthFromEnd = function(head, n) {
    // 删除操作一般都会有边界问题
    // 因此我们可以使用虚拟头节点的方式
    let dummyNode = new ListNode(-1)
    dummyNode.next = head
    let p1= dummyNode,p2=dummyNode
    for(let i = 0;i<n;i++){
        p1=p1.next
    }
    let parNode = p2
    while(p1){
        p1=p1.next
         parNode=p2
        p2=p2.next
    }
    parNode.next= parNode.next.next
    p2.next= null
    // console.log(parNode.val)
    return dummyNode.next
};

说明

思路可以参考上篇
剑指 Offer 22. 链表中倒数第K个节点
稍有差别的是删除节点时必须找到待删除节点的上一个节点。我们在这里可以设置父亲节点,参考代码中就使用的这种方法,同样的也可以在初始找到第K+1个节点,对应的也就是待删除节点的前一个

标签:head,删除,19,节点,链表,dummyNode,倒数第
From: https://www.cnblogs.com/zx529/p/16789484.html

相关文章

  • 剑指 Offer 22. 链表中倒数第k个节点
    题目描述:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的......
  • 链表-23. 合并K个升序链表
    题目描述测试样例示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表......
  • 2019再见,2020你好
    2019年,你一共写了30万行梯形图你热衷于使用组合键Ctrl+C以及Ctrl+V喜欢和客户讨论你们两个都不懂的技术知识你热爱学习每天你会打开剑控微信群假装了解最新技术2019年,......
  • 【HTTP】190-http 状态码竟然可以这样记
    标题皮了一下,但是内容应该算是比较用心的,不是直接抄了一下官方文档和一堆抽象的术语,尽量配合实例解释的通俗一些。基本介绍状态码(StatusCode)和原因短语(ReasonPhrase)用于简......
  • 【ES】199-深入理解es6块级作用域的使用
    这篇文章主要介绍了深入理解es6块级作用域的使用,文中通过示例代码介绍的非常详细,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎......
  • 剑指 Offer 35. 复杂链表的复制
    请实现copyRandomList函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者null。思路1:利用......
  • ST发布M33内核新品STM32U5,首款40nm工艺超低功耗系列,160MHz全速运行19uA/MHz
    ​​https://blog.st.com/stm32u5-microvisor/​​​带硬件三角函数加速,硬件滤波器,还有个硬件多功能数字滤波MFD,一个声音活动检测功能的音频数字滤波器微信公众号:armf......
  • 合并单链表
    用尾插法合并单链表算法思想:让头指针p指向空,用来构建链表Z,用m和n来遍历X和Y,逐个把较小的结点尾插进链表Z中,之后把剩余的链表尾插进Z的后面,形成新链表Z。伪代码如下:void......
  • 《安富莱嵌入式周报》第244期:2021.12.13--2021.12.19
      1、ARM推出的数字信号处理教学资源已经开源分享百度云:​​​https://pan.baidu.com/s/1zkR8h0MmOxd0PB1c1bcgLA​​​  提取码:3qen​​​https://www.arm.com/resou......
  • 203. 移除链表元素
    203.移除链表元素给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。 示例1:输入:head=[1,2,6,3,4......