297.二叉树的序列化与反序列化

二叉树的序列化与反序列化

请设计一个算法来实现二叉树的序列化与反序列化。

解析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var serialize = function (root) {
if (!root) return 'null';
return root.val + ',' + serialize(root.left) + ',' + serialize(root.right);
};
var deserialize = function (data) {
const nodes = data.split(',');
let idx = 0;
function build() {
if (nodes[idx] === 'null') { idx++; return null; }
const node = new TreeNode(+nodes[idx++]);
node.left = build();
node.right = build();
return node;
}
return build();
};

297.二叉树的序列化与反序列化
https://leetcode.lz5z.com/297.serialize-and-deserialize-binary-tree/
作者
tickli
发布于
2024年8月15日
许可协议