链表示意图
链表用对象表示
let list = {
val: 3,
next: {
val: 4,
next: {
val: 2,
next: {
val: 7,
next: null
}
}
}
}
数组转链表
function ListNode(val, next) {
this.val = val === undefined ? 0 : val;
this.next = next === undefined ? null : next;
}
function arrayToListNode(list) {
let header = new ListNode(0)
let current = header
for (let i = 0; i < list.length; i++) {
current.next = { val: list[i], next: null }
current = current.next
}
return header.next
}
链表转数组
function listNodeToArray(node) {
const list = []
let header = node
while (header) {
list.push(header.val)
header = header.next
}
return list
}