在二叉树的特定位置插入元素
Insert element to binary tree at specific position
这可能是一个新手问题,但我正在努力得到这个问题的答案。考虑这样一个二叉树(不是二叉搜索树):
root
child1 child2
child3 child4
我需要在"child2"的左子节点添加"child5"。我该怎么做呢?我知道如何给二叉搜索树添加节点。相同的快照是这样的:
if (newNode->val < root->data) {
-> pick left node
} else {
-> pick right node
}
因为tree不是BST,所以这个解不正确。
我想说的话的图示:
1
2 3
4 5
在上面的树中,'6'应该加在'3'的左边。
好的。我想这个问题的答案应该是这样的:
需要稍微调整一下BFS。当您从队列中弹出项目时,检查是否有任何子节点为空。第一个空子槽是您想要添加的位置。
相关文章:
- 将一个向量插入另一个向量的某个位置
- 如何通过保持第一个插入的位置来对列表中插入的其余元素进行排序?
- 如何在另一个字符串的x位置插入一个字符串?
- 有没有办法在unordered_map的某个位置插入元素
- C 从特定位置插入其他向量中的载体
- 在链表中的第 n 个位置插入节点
- 使用 C++ 在单向链表的指定位置插入节点时出现分段错误
- 在文件中的任意位置插入动态大小对象
- 在Embarcadero Tools API中的光标位置插入文本
- 在链接列表C 中的某个位置插入节点
- std::list c++是连续的,那么在序列中的任何位置插入和擦除操作都需要恒定的时间
- C++在第4个位置插入一个字母
- C++ 在追加 Windows API 的特定位置插入文本
- 在字符数组中的特定位置插入字符
- 使用memcpy移动数组并在给定位置插入一个新元素
- TinyXML在最后一个位置插入
- 当在任意位置插入/放置元素时,C++向量会导致分割错误
- 在链表中的某个位置插入一个节点
- 在二叉树的特定位置插入元素
- 在奇异链表中的特定位置插入