[LeetCode][JavaScript]Remove Nth Node From End of List
https://leetcode.com/problems/remove-nth-node-from-end-of-list/
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 };
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。