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

方法一:哨兵节点+快慢指针

  • 在本题中,快慢指针的用法为:让快指针先走几步,步数由 \(n\) 决定。
  • 使用哨兵节点的理由是为了避免删除节点为头结点引发的空指针异常。
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode sentinel = new ListNode(-1);
sentinel.next = head;
ListNode slow = sentinel, fast = sentinel;
while(--n != -2){
fast = fast.next;
}
while(fast != null){
slow = slow.next;
fast = fast.next;
}
slow.next = slow.next.next;
return sentinel.next;
}
}

最新文章

  1. 巴特沃斯(Butterworth)滤波器 (1)
  2. SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable
  3. CSS折行小记
  4. 30行代码实现Javascript中的MVC
  5. UINavigationController详解一(转)UIBarButtonItem
  6. php 循环向<select>添加选项
  7. php中一串数子的转化
  8. Java for循环的几种用法详解
  9. CSS3 border属性的妙用
  10. 【Scala】Scala之String
  11. 关于bitmap你不知道的一些事
  12. 如何在django视图中使用asyncio(协程)和ThreadPoolExecutor(多线程)
  13. java 使用jdbc连接Greenplum数据库和Postgresql数据库
  14. 使用PHPStorm 配置自定义的Apache与PHP环境
  15. 用SUMIF对超15位的代码进行条件求和,出错了,原因是....
  16. maven的tomcat插件启动报错
  17. char是所有类型中最短的 char多为8位,
  18. 利用monkeyrunner、python脚本来做多设备多apk适配ui界面截屏的自动化测试
  19. Java日期时间类
  20. opencv3.2.0形态学滤波之膨胀

热门文章

  1. dubbo学习(九)dubbo监控中心
  2. PHP正则表达式核心技术完全详解 第2节
  3. spring-boot autoConfiguration
  4. sping cloud入门
  5. Python-变量-字符串
  6. 基于GAN的特征抽取 Feature Extraction by GAN
  7. Android 自定义Vie 对勾CheckBox
  8. Azure Cosmos DB (一) 入门介绍
  9. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
  10. 00 what is C Programming?C编程是什么?