问题
leetcode上tree树类型的题目,是怎么样根据数组实例化tree的,如下图和代码
自己的想法
var root = [1, 2, 5, 3, 4, null, 6];
function TreeNode(val, left, right) {
this.val = (val === undefined ? 0 : val)
this.left = (left === undefined ? null : left)
this.right = (right === undefined ? null : right)
}
var tree = new TreeNode(1, 2, 5)
tree.left = new TreeNode(2, 3, 4)
tree.right = new TreeNode(5, null, 6)
console.log('tree', tree);
console.log('tree', JSON.stringify(tree));
疑问
有没有不像我这样写,代码一步到位实现的
比如如下的树他的层序遍历的结果为

第一层:
[1]
第二层:
[2,5]
第三层:
[3,4,null,6]
合并起来就是:
[1,2,5,3,4,null,6]
更具层序遍历递推出树
数组当作队列使用时在数据量太大是可能会有性能问题,可自行更换