Remove Nth Node From End of List
来源:互联网 发布:linux ftp无法访问 编辑:程序博客网 时间:2024/05/22 09:42
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.
解题思路:引用两个“指针”,首先第一个指针走n步,然后第二个指针和第一个指针一起走(第二个指针此时从头结点开始走),当第一个指针走到末尾时,在此时第二个指针刚好走到要删除的结点前一个,preDeleteNode.next = preDeleteNode.next.next;把第二个指针指向要删除结点的下一个结点
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { if(n<0){ return null; } ListNode a = new ListNode(0); a.next = head; ListNode preDeleteNode = a; for(int i=0;i<n;i++){ head = head.next; } while(head!=null){ head = head.next; preDeleteNode = preDeleteNode.next; } preDeleteNode.next = preDeleteNode.next.next; return a.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
- 顺序栈 及 判断括号是否配对
- (转)java的几种排序方法
- 浅析C#深拷贝与浅拷贝
- 定义结构体时的初始化默认值
- iOS pragma mark的用法
- Remove Nth Node From End of List
- 详解contextConfigLocation
- python数据库编程
- oracle中的数据类型char
- Java多线程系列--“JUC原子类”05之 AtomicLongFieldUpdater原子类
- 程序员如何写出一份好的文档?
- 渣渣ACM日记——1010-Tempter of the Bone (HDOJ)
- 学习测试篇(一)
- Linux-C成长之路(九)Linux C编程实战之路 复合数据类型