链表简介
- 多个元素组成的列表
- 元素存储不连续,用next指针连在一起
- javascript没有链表,可以用Object数据结构模拟链表的功能

const a = { val: "a" };
const b = { val: "b" };
const c = { val: "c" };
const d = { val: "d" };
a.next = b;
b.next = c;
c.next = d;
let p = a;
while (p) {
console.log(p?.val);
p = p.next;
}
const e = { val: "e" };
a.next = e;
e.next = b;
a.next = b;
数组 VS 链表
- 数组: 增删非首尾元素时往往需要移动其他元素。
- 链表: 增删非首尾元素,不需要移动其他元素,只需求修改next指向即可
leetcode-cn.com 算法题实战
完整题目请打开 leetcode

解题思路
- 无法直接获取当前被删除的节点的上个节点
- 将被删除节点下个数据转移到自身,删除下个节点,自己使用下个节点的数据链接下下个节点
var deleteNode = function(node) {
node.val = node.next.val;
node.next = node.next.next;
};
下一站 集合