首页 > 其他 > 详细

Remove Nth Node From End Of List

时间:2015-12-24 20:44:42      阅读:252      评论:0      收藏:0      [点我收藏+]
 1 /**
 2  * Definition for singly-linked list.
 3  * function ListNode(val) {
 4  *     this.val = val;
 5  *     this.next = null;
 6  * }
 7  */
 8 /**
 9  * @param {ListNode} head
10  * @param {number} n
11  * @return {ListNode}
12  */
13 
14 function ListNode(val) {
15     this.val = val;
16     this.next = null;
17 }
18 
19 var removeNthFromEnd = function(head, n) {
20     if (head === null) {
21         return null;
22     }
23 
24     var p1 = p2 = head;
25 
26     //p1先移动n次
27     for (var i = 0; i < n; i++) {
28         p1 = p1.next;
29     }
30 
31     //要移除的是第一个元素
32     if (p1 === null) {
33         return head.next;
34     }
35 
36     //当p1指向最后一个结点,则p2.next即为要删除的结点
37     while (p1.next !== null) {
38         p1 = p1.next;
39         p2 = p2.next;
40     }
41 
42     //删除倒数第n个结点
43     p2.next = p2.next.next;
44 
45     return head;
46 };

 

Remove Nth Node From End Of List

原文:http://www.cnblogs.com/HuoAA/p/5074225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!