思路:为了保持删除头结点和其他节点操作一致,引入虚拟头结点duumyNode。

假设链表长度为len,删除倒数第n个节点就是删除第len-n+1个节点,删除链表节点需要使用待删除节点 的前驱节点,所以p从虚拟头结点开始走len-n步,然后执行p.next=p.next.next即可

import java.util.*;/** public class ListNode {*   int val;*   ListNode next = null;* }*/public class Solution {/*** * @param head ListNode类 * @param n int整型 * @return ListNode类*/public ListNode removeNthFromEnd (ListNode head, int n) {// write code hereif(head==null)return null;ListNode dummyNode=new ListNode(0);dummyNode.next=head;int len=length(head);int step=len-n;ListNode p=dummyNode;for(int i=0;i<step;i++){p=p.next;}p.next=p.next.next;return dummyNode.next;}int length(ListNode pHead){if(pHead==null)return 0;int len=0;ListNode p=pHead;while(p!=null){p=p.next;len++;}return len;}
}

【链表】删除链表的倒数第n个节点相关推荐

  1. 链表-删除链表中的重复元素

    题意: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2-> ...

  2. python代码找到链表的倒数第K个节点并打印

    python代码找到链表的倒数第K个节点并打印 在计算机科学中,链表是数据元素的线性集合,其顺序不是由它们在内存中的物理位置决定的.相反,每个元素指向下一个元素.它是一种数据结构,由一组节点组成,这些 ...

  3. 求链表的倒数第N个节点

    最近看一本书上有求链表的倒数第N个节点,简单实现了下 链表,实现方案如下 1.不借助链表长度顺序遍历倒数第N个节点 GetReserveN就是如此实现. 2.当然如果链表记录了节点长度也可以直接正序遍 ...

  4. LeetCode19. Remove Nth Node From End of List 删除链表中的倒数第n个位置的元素

    前言 本文是LeetCode19. Remove Nth Node From End of List解法,这个题目需要删除链表中的倒数第n个位置的元素 代码 # -*- coding: utf-8 - ...

  5. 刻意练习:LeetCode实战 -- Task11. 删除链表的倒数第N个节点

    背景 本篇图文是LSGO软件技术团队组织的 第二期基础算法(Leetcode)刻意练习训练营 的打卡任务.本期训练营采用分类别练习的模式,即选择了五个知识点(数组.链表.字符串.树.贪心算法),每个知 ...

  6. 链表问题2——在双链表中删除倒数第K个节点

    题目 实现一个函数,可以删除双链表中倒数第K个节点. 要求 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 思路 双链表的思路与前一篇文章单链表的思路基本一致,注意last指针 ...

  7. 链表问题2——在单链表中删除倒数第K个节点

    题目 实现一个函数,可以删除单链表中倒数第K个节点. 要求 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 思路 如果链表为空或者K值小于1,直接返回head即可,除此之外,从 ...

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

    题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表 ...

  9. 《LeetCode力扣练习》第19题 删除链表的倒数第 N 个结点 Java

    <LeetCode力扣练习>第19题 删除链表的倒数第 N 个结点 Java 一.资源 题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 示例 1: 输入:hea ...

  10. 《程序员代码面试指南》第二章 链表问题 在单链表和双链表中删除倒数第K个节点...

    题目 在单链表和双链表中删除倒数第K个节点 java代码 /*** @Description:在单链表和双链表中删除倒数第K个节点* @Author: lizhouwei* @CreateDate: ...

最新文章

  1. 矩阵快速幂 POJ 3070 Fibonacci
  2. POJ3630——简单Trie树
  3. 嵌入式Linux交叉开发环境建立-NFS【ZT】
  4. 《Oracle从入门到精通》读书笔记第四章 SQL语言基础之二
  5. @RequestParam注解四个属性字段说明
  6. ubuntu 下 github 使用方法 以及异常修改
  7. 第四季-专题11-LED驱动程序设计
  8. 一套优秀的直播系统源码是什么样的?起码要有这五个模块
  9. c 语言识别图片中的文字,Tesseract OCR图片识别为文字
  10. python3+selenium框架设计04-封装测试基类
  11. OpenCV图像处理---模糊原理
  12. 微软OpenPai平台部署安装(kubernetes 大数据和深度学习平台安装部署)
  13. 反外挂之手写汇编锁血功能
  14. libvirt 问题解决记录集
  15. 数学小故事之拉格朗日的世界
  16. aix查看lv_(摘抄)AIX下减小lv size
  17. IDEO用户体验创新模式01
  18. 鑫光芒教程进阶篇微信公众号推广方法大公开
  19. ARM7开发板模拟器Skyeye安装设置全攻略
  20. 展会客流统计的客流统计系统,WiFi客流每时每客

热门文章

  1. 使用 Azure Site Recovery 将内部部署虚拟化工作负荷迁移至 Azure
  2. 强化学习 —— gym
  3. LaTex 加粗(加黑)的方式
  4. Web 服务器错误代码
  5. 百度面试题:malloc/free 与 new/delete 的区别
  6. 面向对象——私有成员
  7. python3 单例模式_当python,单例模式,多例模式,一次初始化遇到一起
  8. python安装目录结构_1.5 python安装目录介绍《Python基础开发入门到精通》
  9. 免费python全套视频教学-有哪些优质的Python全系列视频教程推荐,免费的收费的都可以?...
  10. 如何自学python知乎-你们都是怎么学 Python 的?