首页 > 编程语言 >19.删除链表的倒数第N个节点 remove-nth-node-from-end-of-list

19.删除链表的倒数第N个节点 remove-nth-node-from-end-of-list

时间:2022-11-23 10:35:03浏览次数:66  
标签:node pre slow end fast next 链表 ListNode 节点

问题描述

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

解题思路

首先设置一个虚拟头节点prepre->next = head;

双指针法,考虑使用两个指针fastslow,一快一慢,fast指针先前进n个位置,然后fastslow一起遍历,当fast到达最后一个节点的时候,slow刚好位于要删除的节点的前一个节点。

代码

class Solution {
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) {
        ListNode *pre = new ListNode(0, head);
        ListNode *fast = pre, *slow = pre;
        for (int i = 0; i < n; i++) {
            fast = fast->next;
        }
        while (fast->next != nullptr) {
            fast = fast->next;
            slow = slow->next;
        }
        slow->next = slow->next->next;
        return pre->next;
    }
};

标签:node,pre,slow,end,fast,next,链表,ListNode,节点
From: https://www.cnblogs.com/zwyyy456/p/16917489.html

相关文章

  • python 用这样子将链表置None了, 为什么没有成功?
    res=ListNode(1)res.next=ListNode(2)#res1->2方式1打印12,这里是为什么?res1=res.nextres1=None方式2打印1res.next=Nonewhileres:pr......
  • 奇偶链表问题
    奇偶链表问题作者:Grey原文地址:博客园:奇偶链表问题CSDN:奇偶链表问题题目描述给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节......
  • 嵌入式学习-链表
    链表是一种数据结构,它相对于数组来说十分灵活,它存放着一个数据和指向下一个数据的地址(指针)。链表和数组的区别在于,数组是连续的,而链表可以是不连续的。  输出结果:......
  • Talend API Tester安装&使用
    为什么记录这个笔记?国内网站各种黑资料,不是病毒就是收费,所以需要记录一个靠谱的知识元。为了节省空间不提供任何图片,自己找不到拉倒安装说明:https://www.cccitu.com/49......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:删除链表中的节点
    题目:有一个单链表的 head,我们想删除它其中的一个节点 node。给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。链表的所有值都是唯一的,并且保证给定......
  • DOM_Node对象与案例4_动态表格_添加
    DOM_Node对象节点可以是元素节点、属性节点、文本节点,或者也可以是"节点类型"那一节中所介绍的任何一种节点。请注意,虽然所有的对象均能继承用于处理父节点和子节点的属性......
  • MDFEND: Multi-domain Fake News Detection
    MDFEND:Multi-domainFakeNewsDetectionMDFEND:多领域假新闻检测作者:南琼、曹娟  CIKM2021shortpaper论文地址:https://arxiv.org/pdf/2201.00987.pdf数据集和......
  • Blender Rigify 绑骨常见报错&解决方法
    建议系统学习rigify工作原理!!!......
  • node 连接MySQL
    使用node创建一个服务端比java简单多,下面创建一个node服务端,连接MySQL并且将数据在浏览器显示出来一.node创建服务端案例varhttp=require("http");http.createSe......
  • nodejs02
    Express快速创建Web服务器express的基本使用先安装express包[email protected].导入expressconstexpress=require('express');2.创建web服务器cons......