题目描述:
解题思路:
和上一道删除链表的倒数第k个节点思路差不多,都要设置快、慢两个指针,只是多设置了一个pre来保存慢指针前面一个节点,最后使pre.next指向fast即可完成题目
解题代码:
function removeNthFromEnd( head , n ) {
// write code here
let fast = head;
let slow = head;
let pre
for(let i = 0; i < n; i++) {
fast = fast.next
if(fast == null) return head.next;
}
while(fast != null) {
fast = fast.next;
pre = slow;
slow = slow.next;
}
pre.next = slow.next
return head;
}