Open
Description
递归 dfs
const serialize = function(root) {
const res = []
function dfs(node) {
if (node === null) {
res.push(null)
return
}
res.push(node.val)
dfs(node.left)
dfs(node.right)
}
dfs(root)
return res
}
- 时间复杂度: O(n)
- 空间复杂度: O(n)
const deserialize = function(data) {
function dfs() {
if (data.length === 0) return null
let val = data.shift()
if (val === null) return null
let node = new TreeNode(val)
node.left = dfs()
node.right = dfs()
return node
}
return dfs()
}
- 时间复杂度: O(n)
- 空间复杂度: O(n)