BM9 删除链表的倒数第n个节点
/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
*
* @param head ListNode类
* @param n int整型
* @return ListNode类
*/
function removeNthFromEnd(head, n) {
// write code here
let end = head;
// 查找到第 n 个并记录
for (let i = 0; i < n; i++) {
end = end.next;
}
if (!end) return head.next;
// 通过 start 和 end 右移动到 end.next 为结尾,此时的 start 就是倒数第 n 个
// 退出循环后让新链表的该位置的 next 设为 next.next
let start = head;
while (end.next) {
end = end.next;
start = start.next;
}
start.next = start.next.next;
return head;
}
module.exports = {
removeNthFromEnd: removeNthFromEnd,
};
如有问题望指正

京公网安备 11010502036488号