LeetCode 初级 - 删除链表的倒数第N个节点

链表倒数第n个节点 一.题目 找到单链表倒数第n个节点,保证链表节点的最少数量为n。 样例:给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1. 二.解题思路 三.实现代码 阅读详情

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

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

示例:

给定一个链表: 1->2->3->4->5, 和 n = 2.

当删除了倒数第二个节点后,链表变为 1->2->3->5.

说明:

给定的 n 保证是有效的。

进阶:

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

代码

/**
* Definition for singly-linked list.
* public class ListNode {
*     int val;
*     ListNode next;
*     ListNode(int x) { val = x; }
* }
*/
class Solution {
   public ListNode removeNthFromEnd(ListNode head, int n) {
       ListNode pre = head;
       ListNode post = head;
       for(int i=0;i<n;i++){
           post = post.next;
       }
       if(post == null){
           return head.next;
       }
       while(post.next!=null){
           post = post.next;
           pre = pre.next;
       }
       pre.next = pre.next.next;
       return head;
   }
}

三种方法实现获取链表中的倒数第n个元素 获取链表中的倒数第n个元素 阅读详情

相关推荐

计算机组成原理实验(已通关)-华中科技大学头歌Educoder(Logisim)

汉字国标码转区位码实验 汉字机内码获取实验 8位可控加减法电路设计 第2关 CLA182四位先行进位电路设计 第3关 4位快速加法器设计 第4关 16位快速加法器设计 第5关 32位快速加法器设计 第6关 5位无符号阵列乘法器设计 6位有符号补码阵列乘法器 乘法流水线设计 原码一位乘法器设计 偶校验编码设计 偶校验解码电路设计 16位海明编码电路设计 16位海明解码电路设计 海明编码流水传输实验 16位CRC并行编解码电路设计 CRC编码流水传输实验

紫荆鱼的博客 4万+

链表中倒数的 第 n 个结点

查找链表中倒数的第 n 个结点

m0_67186846的博客 645

Halcon与C#联合编程(一):使用S7协议实现机器视觉上位机与西门子PLC联动

本项目技术栈:C#基础,多线程,Halcon DirectShow,Halcon形状检测,Halcon QR码识别,西门子S7通讯协议,西门子PLC为核心的下位机及执行元件

虎鲸不是鱼 1万+

数据结构系列之如何查找单链表倒数第N个节点

  给定一个单链表,查找链表倒数第n个节点。   示例: 给定一个链表:1->2->3->4->5,和 n=2 穷举遍历(两次遍历)   先遍历一遍链表,确定链表节点的个数l。然后再遍历一遍链表,从前往后第(l-n+1)个节点就是倒数第n个节点。 public ListNode nthToLast(ListNode head,int n){ ListNode fi...

知世俗而不世俗 4277

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

删除链表倒数第N个节点

weixin_44852067的博客 967

力扣(LeetCode)——19. 删除链表倒数第 N 个结点

力扣(LeetCode)——19. 删除链表倒数第 N 个结点 给你一个链表删除链表倒数第 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

壹的博客 471

LeetCode初级算法之链表删除链表中的节点删除链表中的倒数第N个节点

这是LeetCode初级算法链表系列的前两个题,由于都是删除链表中的节点,所以顺便整理到一块了。 删除链表中的节点 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除节点。 现有一个链表 – head = [4,5,1,9],它可以表示为: 示例 1: 输入: head = [4,5,1,9], node = 5 输出: [4,1,9] 解释: 给定你链表中值...

Miracle8070 750

力扣初级算法-18-链表-删除链表倒数第N个节点

学习目标: 本次学习目标为 力扣初级算法-链表,其中主要的LC如下: 删除链表倒数第N个节点 学习内容: 删除链表倒数第N个节点 -----(链接) 给你一个链表删除链表倒数第 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 &

nvluco的博客 948

LeetCode-探索-初级算法-链表-2.删除链表倒数第N个节点(个人做题记录,不是习题讲解)

LeetCode-探索-初级算法-链表-2.删除链表倒数第N个节点(个人做题记录,不是习题讲解) LeetCode探索-初级算法:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/ 删除链表倒数第N个节点 语言:java 思路:用list记录遍历时的每个节点,然后计算要删除的节...

Ashiamd的博客 260

LeetCode 探索初级算法-链表:22 删除链表倒数第N个节点-20200405

21 删除链表倒数第N个节点-20200405 题目 给定一个链表删除链表倒数第n个节点,并且返回链表的头结点。 示例 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除倒数第二个节点后,链表变为 1->2->3->5. 说明 给定的n保证是有效的。 进阶 你能尝试使用一趟扫描实现吗? 注意事项 ...

干啥干不行,吃饭第一名 315

LeetCode初级-删除链表倒数第N个节点

题目: 给定一个链表删除链表倒数第 n 个节点,并且返回链表的头结点。 示例 : 给定一个链表: 1-&amp;gt;2-&amp;gt;3-&amp;gt;4-&amp;gt;5, 和 n = 2. 当删除倒数第二个节点后,链表变为 1-&amp;gt;2-&amp;gt;3-&amp;gt;5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 题目分析: 分析见我的注释,我觉得够详细了。 (PS:初次接触链表,原谅我

棒棒小糖的博客 283

(c语言)力扣初级算法之删除链表倒数第N个节点

删除链表倒数第N个节点 给定一个链表删除链表倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 思路:先判断链表为空和n等于链表长度的特殊情况,然后使用双指针找到删除节点位置 代码: /** * Definition for singly-linked list.

m0_51001708的博客 848

LeetCode - 删除链表倒数第N个节点Java | LeetCode初级

给定一个链表删除链表倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的n保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 不难,用快慢指针就好了,不过写的时候需...

猾枭的博客 241

Leetcode 初级算法:链表2.删除链表倒数第N个节点

给定一个链表删除链表倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 解题思路:第一种,设置qp两个指针同时指向head,然后先让p指针向后移动,并在移动...

weixin_45221477的博客 207

LeetCode初级算法之链表:19 删除链表倒数第N个节点

...

木瓜煲鸡脚的博客 242

链表倒数第n个节点

第一种解法:暴力求解 从第一个节点开始,统计当前节点后面的节点个数,如果大于N-1 移动到下一个节点,否则提示节点不足,直到后面的节点个数= N,这里不做详解 第二种解法:两次遍历 先求链表长度len 再次遍历到len-n的位置时间复杂度O(n) + O(n) -> O(n),空间复杂度O(1) ListNode find2(ListNode head,int n ) { int l...

weixin_42226094的博客 387

查找链表倒数第n个节点

题目:查找单链表倒数第n个节点数据 思路: 考虑到时间复杂度,不允许对链表进行两次遍历操作来完成上述需求。该问题可通过定义两个快慢指针,快指针p1和慢指针p2,倒数第n个,p1最开始指向头节点,向后移动n-1个节点,到达如图a所示的地方,p2指针最开始指向头结点p2,如图b所示,p1和p2同时向后移动,当p1到达链表尾部时,停止,此时p2指向的节点即为倒数第n个节点。 代码: /** *查找倒数第n个节点 *@paramlinkedNodeOne *@parami...

kaibingwang的博客 1139

【8.9】链表-删除链表倒数第 N 个结点

删除链表倒数第 `n` 个节点,关键在于找到倒数第 `n+1` 个节点,因为通过这个节点可以直接调整指针,从而删除目标节点。关于如何找到倒数第 `n+1` 个节点,有多种方法可以实现。需要注意的是,如果要删除的是头节点,那么链表中不存在倒数第 `n+1` 个节点,因此需要单独处理这种情况。

攻城狮7号的博客 1397

Shopee x-sap-ri参数分析[源码]

本文详细解析了Shopee应用中x-sap-ri参数的生成逻辑及干扰项处理方法。x-sap-ri由52位字符组成,前8位与时间戳运算相关,后44位包含特定随机数序列。文章介绍了时间戳处理的多步位运算、随机数生成的关键变量以及参数结构中的固定位模式。通过使用InsCode(快马)平台搭建ARM64模拟环境,可以高效进行逆向分析。本次分析不仅揭示了x-sap-ri的生成原理,还实践了自上而下分析、由果溯因和关键函数分析三大算法分析方法论,对逆向工程具有重要参考价值。

上一篇: LeetCode 初级 - 回文链表
下一篇: LeetCode 初级 - 删除链表的结点
whd_Alive
博客等级 码龄8年 107粉丝 195原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值