📅  最后修改于: 2023-12-03 15:22:44.448000             🧑  作者: Mango
当我们要删除链表中间节点时,需要遍历整个链表来找到中间节点,然后将其删除。以下是一个JavaScript程序,用于删除链表中间节点。
在开始之前,我们需要创建一个链表节点的类。以下是一个简单的示例。
class ListNode {
constructor(val, next = null) {
this.val = val;
this.next = next;
}
}
每个链表节点都有一个值val和一个指向下一个节点的指针next。
下面是删除链表中间节点的JavaScript程序。它用两个指针来遍历链表,一个指针每次移动2步,另一个指针每次移动1步。当第一个指针到达链表末尾时,第二个指针将指向中间节点。
function deleteMiddleNode(head) {
let slow = head;
let fast = head;
let prev = null;
while (fast && fast.next) {
prev = slow;
slow = slow.next;
fast = fast.next.next;
}
prev.next = slow.next;
return head;
}
以上是一个简单的JavaScript程序,用于删除链表中间节点。该程序使用了两个指针来遍历链表,非常高效。希望这篇文章能够帮助你更好地理解链表和指针在JavaScript中的使用。