这可能是一个新手问题,但我很难得到这个问题的答案。考虑这样的二叉树(不是二叉搜索树):
root
child1 child2
child3 child4
我需要添加" child5"在" child2"的左边孩子。我是怎么做到的?我知道为二进制搜索树添加节点的方法。同样的快照是这样的:
if (newNode->val < root->data) {
-> pick left node
} else {
-> pick right node
}
由于树不是BST,因此该解决方案不正确。
我想说的内容的图示:
1
2 3
4 5
在上面的树上,&#39; 6&#39;应添加为&#39; 3&#39;。
的左侧答案 0 :(得分:0)
好。我认为对此的回答是这样的:
需要对BFS进行少量调整。从队列中弹出项目时,请检查是否有任何子项为空。第一个空子槽是您要添加到的位置。