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