题目
题目链接:leetcode-cn.com/leetbook/re…
题解
第一次用 JavaScript 写链表,也是第一次在 leetcode 写链表,有点蒙~
看到 leetcode 中给的模板,我在想这又不是双向链表,只给一个要删除的节点怎么搞~
看了下评论,还是自己的思维局限了~
有一位兄弟的评论是点睛之笔:
实际上题目已经说了要删除的节点不是最后一个节点,于是我们可以通过下面的方法来实现删除指定节点的效果:
- 将给定节点的下一个节点的值放在给定节点上;
- 将给定节点的下一个节删除;
/**
* 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《初级算法》的每道题的总结和实现的其中一篇,汇总篇在这里: