博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
19. Remove Nth Node From End of List
阅读量:5159 次
发布时间:2019-06-13

本文共 1026 字,大约阅读时间需要 3 分钟。

题目:

Given a linked list, remove the nth node from the end of list and return its head.

For example,

Given linked list: 1->2->3->4->5, and n = 2.   After removing the second node from the end, the linked list becomes 1->2->3->5.

Note:

Given n will always be valid.
Try to do this in one pass.

链接:

4/11/2017

87%, 14ms

要了解每个变量的意义,想不出来就画图,不要猜初始值定在哪里

fast也可以设在dummy上,这样第8,12行就按照fast.next来判断,不过运行时间会加到18ms

1 public class Solution { 2     public ListNode removeNthFromEnd(ListNode head, int n) { 3         if (head == null || n <= 0) return head; 4         ListNode dummy = new ListNode(-1); 5         dummy.next = head; 6         ListNode fast = head; 7         ListNode slow = dummy; 8         while (n > 0 && fast != null) { 9             fast = fast.next;10             n--;11         }12         while (fast != null) {13             fast = fast.next;14             slow = slow.next;15         }16         slow.next = slow.next.next;17         return dummy.next;18     }19 }

官方解答

转载于:https://www.cnblogs.com/panini/p/6698135.html

你可能感兴趣的文章
Java路径
查看>>
Android Webview中解决H5的音视频不能自动播放的问题
查看>>
Android微信SDK API 调用教程【转】
查看>>
Android开发优化之——对Bitmap的内存优化
查看>>
最近的工作感悟
查看>>
JAVA数据类型
查看>>
C# 防火墙操作之启用与关闭
查看>>
在ASP.NET MVC中如何预防Cookie的窃取攻击(转载)
查看>>
EL表达式
查看>>
jaeger 使用初探
查看>>
IOS成长之路-Nsstring搜索方法rangeOfString
查看>>
重温ASP.NET WebAPI(二)进阶
查看>>
为什么macos开机黑屏但是有声音?
查看>>
002—对数组的几种基本操作
查看>>
解构在架构设计中的运用
查看>>
1025 反转链表(链表,reverse)
查看>>
刷题总结——宠物收养所(bzoj1208)
查看>>
python+selenium运行时,提示元素不可见
查看>>
SQL SERVER实践应用--TED透明数据加密及性能测试(转)
查看>>
新东方雅思词汇---7.2、warrant
查看>>