删除链表倒数第n个节点_求链表的倒数第m个元素

删除链表倒数第n个节点_求链表的倒数第m个元素原题链接给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= s

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

进阶:你能尝试使用一趟扫描实现吗?

示例 1:
在这里插入图片描述

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

输入:head = [1], n = 1
输出:[]
示例 3:

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

提示:

链表中结点的数目为 sz
1 <= sz <= 30
0 <= Node.val <= 100
1 <= n <= sz

题解
显然一个指针向前移动n,步,然后两个在一起前进直到最后一个遇到末尾

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */
class Solution { 
   
public:
    ListNode* removeNthFromEnd(ListNode* head, int n) { 
   
        ListNode *t = head,* p = head;
        int i = 0;
        while(i < n && t != NULL)t = t->next,i ++;
        if(i != n)return head;
        if(t != NULL)t = t->next;
        else return head->next;
        while(t != NULL){ 
   
            t = t->next;
            p = p->next;
        }
        ListNode * tt = p->next;
        p->next = p->next->next;
        return head;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168986.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何对硬盘进行数据恢复_数据恢复用什么软件

    如何对硬盘进行数据恢复_数据恢复用什么软件怎样进行硬盘数据恢复硬盘上的数据如果不小心误删了怎么恢复?以下百分网小编整理的进行硬盘数据恢复的方法,希望对大家有所帮助,更多信息请关注应届毕业生网!1.下载运行DiskGenius数据恢复及磁盘分区软件。首先选择已删除文件所在的分区。然后点击工具栏按钮“恢复文件”,或点击主菜单“工具”中的“已删除或格式化后的文件恢复”菜单项,以打开文件恢复对话框。如下图:2.根据文件正常删除或格式化的不同情况,…

    2026年2月2日
    4
  • java项目中的classpath到底指向的哪里[通俗易懂]

    今天在项目里看到好多地方都用到了类路径,并且自己对路径还不是很清楚,所以就在网上百度了一下!上面图片的意思简单来说,就是classpath只能表示lib目录和WEB-inf/classes路径下的文件,calsspath不能表示的src路径下面的文件,但是从项目结构来看,配置文件一般是不放在放在WEB-INF下面啊,并且也没有看到classes路径,lib目录不是放依赖ja…

    2022年4月4日
    117
  • js如何实现页面跳转_js当前页面跳转

    js如何实现页面跳转_js当前页面跳转文章转载自:  js页面跳转的几种代码    http://www.studyofnet.com/news/185.html 页面跳转方式 1.在原来的窗体中直接跳转用window.location.href=”你所要跳转的页面”;window.history.back(-1);返回上一页window.history.history.back()wind

    2022年8月13日
    9
  • js addEventListener事件捕获与冒泡,第三个参数详解,阻止事件传播

    js addEventListener事件捕获与冒泡,第三个参数详解,阻止事件传播结论element.addEventListener(event,function[,useCapture])event:事件名称,如clickfunction:指定要事件触发时执行的函数,可以传入事件参数useCapture:可选。布尔值,指定事件是否在捕获或冒泡阶段执行。默认false:在冒泡阶段执行指定事件true:在捕获阶段执行事件event.stopPropagat…

    2025年6月9日
    3
  • setPositiveButton,setNegativeButton,setNeutralButton各代表什么意思

    setPositiveButton,setNegativeButton,setNeutralButton各代表什么意思本质上都是三个Button并没有很大的区别:Positive:积极的Negative:否定的Neutral:中性的setPositiveButton表示设置弹框后的确定按钮。setNegativeButton表示设置弹框后的取消按钮,设置的是出现在最右边,一般把最右的button功能设置为“取消”,问也就是调用dlg.dismiss()。setNeutralButton:这个是相当于一个忽略操作的按钮。(中立)…

    2022年6月18日
    42
  • poe交换机能连接普通交换机_两台poe交换机之间怎么连接

    poe交换机能连接普通交换机_两台poe交换机之间怎么连接PoE交换机的链接方式有哪些?前面我们在介绍监控的供电方式时有介绍PoE供电,有一些朋友对poe供电存到一些疑问,那么,交换机品牌16年生产厂家ONV光网视小编今天就用图文形式来与您一起了解PoE的几种供电方式和连接方法。交换机一、交换机和终端都支持PoE  这种方法PoE交换机直接通过网线接到支持PoE供电的无线AP和网络摄像机上,这种方法最简单,但也需要注意如下两点:  1、确定PoE…

    2022年10月4日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号