var removeNthFromEnd = function(head, n) { let ret = new ListNode(0, head), slow = fast = ret; while(n--) fast = fast.next; while (fast.next !== null) { fast = fast.next; slow = slow.next }; slow.next = slow.next.next; return ret.next; };
时间: 2024-04-28 14:24:43 浏览: 67
SlowFast测试视频.zip
这是一段 JavaScript 代码,实现了一个删除链表中倒数第 n 个节点的函数。该函数接收两个参数:head 表示链表的头节点,n 表示要删除的节点的位置(从链表末尾开始计算)。具体实现中,首先创建一个虚拟头节点 ret,然后让 slow 和 fast 指向 ret,接着让 fast 先走 n 步。然后 slow 和 fast 同时向后移动,直到 fast 到达链表末尾。此时,slow 指向的节点就是要删除的节点的前一个节点。最后,将 slow 的 next 指向 slow 的 next 的 next,即删除 slow 后面的节点,最后返回 ret.next 即可。
阅读全文