19. Remove Nth Node From End of List
来源:互联网 发布:java 动态生成jsp页面 编辑:程序博客网 时间:2024/05/22 03:48
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.
递归:
public class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {ListNode node=new ListNode(head.val);
node.next=head;
helper(node,n);
return node.next;
}
public int helper(ListNode head,int n){
if(head==null)
return 0;
if(head.next==null)
return 1;
int count=helper(head.next,n);
if(count==n)
head.next=head.next.next;
return count+1;
}
}
另一种方法 :使用两个指针。
public ListNode removeNthFromEnd(ListNode head, int n) {
ListNode start = new ListNode(0);
ListNode slow = start, fast = start;
slow.next = head;
//Move fast in front so that the gap between slow and fast becomes n
for(int i=1; i<=n+1; i++) {
fast = fast.next;
}
//Move fast to the end, maintaining the gap
while(fast != null) {
slow = slow.next;
fast = fast.next;
}
//Skip the desired node
slow.next = slow.next.next;
return start.next;
}
0 0
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node from End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- Remove Nth Node From End of List
- 浏览器兼容性问题总结2
- (Java)LeetCode-67. Add Binary
- redis 学习指南
- Eclipse中大小写变换的快捷键
- synchronized(this)总结
- 19. Remove Nth Node From End of List
- 第10章 结构型、共用型、枚举型及用户自定义型数据
- 相机、相册使用
- TextView java.lang.IndexOutOfBoundsException: setSpan (27 ... 37) ends beyond length 32
- TCP/IP的三次握手和四次挥手
- 关于在myeclipse中添加maven的配置问题 以及使用
- 信号的处理(进程间通信)
- hadoop学习(一)——hadoop是什么
- OCP纸质证书申请