LeetCode《初级算法》链表之删除链表中的节点 -- JavaScript

1,201 阅读1分钟

题目

题目链接:leetcode-cn.com/leetbook/re…

image.png

题解

第一次用 JavaScript 写链表,也是第一次在 leetcode 写链表,有点蒙~

看到 leetcode 中给的模板,我在想这又不是双向链表,只给一个要删除的节点怎么搞~

看了下评论,还是自己的思维局限了~

有一位兄弟的评论是点睛之笔:

image.png

实际上题目已经说了要删除的节点不是最后一个节点,于是我们可以通过下面的方法来实现删除指定节点的效果:

  • 将给定节点的下一个节点的值放在给定节点上;
  • 将给定节点的下一个节删除;
/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} node
 * @return {void} Do not return anything, modify node in-place instead.
 */
var deleteNode = function(node) {
    
    node.val = node.next.val;
    node.next = node.next.next;

};

大家如果有更好的思路和解法,欢迎大家一起来讨论啊~

这是使用 JavaScript 对 LeetCode《初级算法》的每道题的总结和实现的其中一篇,汇总篇在这里:

juejin.cn/post/700669…