【发布时间】:2021-09-04 05:57:09
【问题描述】:
我正在尝试使用按顺序遍历和递归方法遍历二叉搜索树。我的目标是将每个节点的值推入一个数组并返回它。这是我的代码:
dfsInOrder(node=this.root) {
let nodes = []
if(node === null) return
nodes.push(this.dfsInOrder(node.left))
nodes.push(node.val)
nodes.push(this.dfsInOrder(node.right))
return nodes
}
这是我将数据插入树的方式:
binarySearchTree
.insert(15)
.insert(20)
.insert(10)
.insert(12);
为了澄清,树的根值是 15,而 10 和 12 都在树的左侧。 20 在右边。
我正在寻找这样的结果:
[12,10,15,20]
但是我得到了这个:
[Array(3), 15, Array(3)].....
[undefined, 10, Array(3)]
15
[undefined, 20, undefined]
我的代码哪里出错了?
【问题讨论】:
标签: javascript binary-search-tree inorder