标签:
https://leetcode.com/problems/remove-nth-node-from-end-of-list/
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.
1 /** 2 * @param {ListNode} head 3 * @param {number} n 4 * @return {ListNode} 5 */ 6 var removeNthFromEnd = function(head, n) { 7 var cache = []; 8 var i = 0; 9 var current = head; 10 while(current){ 11 cache[i] = current; 12 i++; 13 current = current.next; 14 } 15 16 var index = cache.length - n; 17 18 if(!cache[index - 1]){ 19 return cache[1] || []; 20 }else if(!cache[index + 1]){ 21 cache[index - 1].next = null; 22 return cache[0]; 23 }else{ 24 cache[index - 1].next = cache[index + 1]; 25 return cache[0]; 26 } 27 };
[LeetCode][JavaScript]Remove Nth Node From End of List
标签:
原文地址:http://www.cnblogs.com/Liok3187/p/4509930.html