数据结构—线性结构—链表:(删除链表中倒数第n个元素)

一、题目:给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。(链表中的节点个数大于n)

样例:给出链表1->2->3->4->5->null和 n = 2.  删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.

二、分析:

需要考虑的点:

1、链表只有1个元素,且n=1;如1->null,n=1;

2、删除元素为链表的头节点;

3、O(n)时间复杂度,单项链表,只走一遍;

三、代码:

*** Definition for ListNode*/
public class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}
}public class Solution {/*** @param head: The first node of linked list.* @param n: An integer* @return: The head of linked list.*/public ListNode removeNthFromEnd(ListNode head, int n) {ListNode probeNode = new ListNode(0);ListNode currentNode = new ListNode(0);ListNode headNode = new ListNode(0);probeNode.next = head;int i;if(probeNode.next != null){for(i = 0; i <= n; i++){probeNode = probeNode.next;}currentNode.next = head;headNode = currentNode;while(probeNode != null){probeNode = probeNode.next;currentNode = currentNode.next;}currentNode.next = currentNode.next.next;}else{headNode.next = null;}return headNode.next;}
}

LintCode—删除链表中倒数第n个节点(174)相关推荐

  1. python 删除链表中倒数第N个节点

    | 删除链表中倒数第N个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入: ...

  2. Java 算法之 “删除链表中倒数第k个节点”【钢镚核恒】

    删除链表中倒数第k个节点 简介 题目描述:给定⼀个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点[Leetcode] 链表中倒数第k个节点 , 和这篇文章使用的方法一致,就是变成找到倒数k+ ...

  3. python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点

    题目 实现一个函数,一个可以删除单链表中倒数第k个节点 难度 简单 分析 本题比较简单,实现方法多种多样,这里提供一种方法 首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个 ...

  4. 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)

    19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...

  5. 代码随想录Day04 | LeetCode24. 两两交换链表中的节点、LeetCode19. 删除链表的倒数第N个节点、LeetCode160. 链表相交、LeetCode142. 环形链表Ⅱ

    LeetCode24. 两两交换链表中的节点 力扣题目链接 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 ...

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

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

  7. LeetCode19删除链表的倒数第N个节点20有效的括号

    维护不易,还请点赞支持,微信搜索bigsai 回复进群一起打卡. 19删除链表的倒数第N个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1-> ...

  8. java 链表删除头结点,删除链表的倒数第N个节点,并返回链表的头节点

    面试的时候遇到了一个笔试题,是leetcode的原题,原题的连接: https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/ ...

  9. [链表|多解法] leetcode 19 删除链表的倒数第N个节点

    [链表|多解法] leetcode 19 删除链表的倒数第N个节点 1.题目 题目链接 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2-&g ...

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

    考过01 Lc19删除链表的倒数第N个节点 处理好一下几个问题就能够做出来: 注意有可能删除头结点,凡是头结点会变化的,习惯建一个虚拟头结点,让这个虚拟头结点指向链表的头结点.如果不用虚拟头节点,需要 ...

最新文章

  1. 基于OpenCV的位姿估计
  2. 需要注意变量作用域的使用
  3. Ubuntu中安装docker-compose
  4. Numpy中array和matrix转换
  5. UI:UITableView表视图
  6. MATLAB-矩阵相关计算(1)
  7. Leetcode39.Combination Sum组合总和
  8. WeihanLi.Npoi 近期更新
  9. ASP.NET MEMBERSHIP的XML配置
  10. 博弈——Nim博弈(hdu2176,1850,1851,1907,1849)
  11. Spring中父子容器的实现实例
  12. NVIDIA Tesla K40C 和 AMD Firepro W8100 的对比
  13. 谈谈WCF中的Data Contract(2):WCF Data Contract对Generic的支持
  14. 隐藏桌面上计算机图标不见了怎么办,隐藏桌面我的电脑图标不见了怎么办
  15. 基于OpenCV的银行卡号识别系统实现(一)----- 银行卡号识别步骤
  16. 音频帧率计算方法(只需要知道 采样率 和 一帧采样数 )
  17. Structured Streaming任务GC问题
  18. python image.open 参数作用,python基础(python Image Library)
  19. 【枚举算法】佩尔方程
  20. JS HTML标签尺寸距离位置定位计算

热门文章

  1. 【情感识别】基于matlab PNN概率神经网络语音情感识别【含Matlab源码 544期】
  2. 内置函数的数据聚合NumpyPandas
  3. win8这台计算机到桌面上,Win8如何在桌面上显示“我的电脑”图标,小编教你Win8如何在桌面上显示我的电脑...
  4. python中__future__包
  5. 用python画一只皮卡丘_用python画一只可爱的皮卡丘实例
  6. 怎样开图纸便宜_在县城开一家儿童乐园怎么样?开多大面积合适?投资需要多少钱?...
  7. javascript函数防抖Debounce
  8. 云小蜜知识库维护的流程和维护建议
  9. Java第二次作业參考代码
  10. 渴望成为架构师的你,或许需要与这些大咖来一场面基