作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何通过层序遍历构造完整树?
总共 =7 个节点
20,8,22,4,12,-1,-1 至
20
/ \
8 22
/ \ / \
4 12 -1 -1
二叉树中也可能有 -1 的虚拟节点
根据该级别顺序构造树这不可能吗?
最佳答案
对我来说看起来像是一个简单的插入。如果您的节点值按照您指定的顺序排列,则只需运行递归插入即可。
void insert(node_t **root, int val)
{
if (*root == NULL) {
*root = malloc(sizeof(node_t));
*root->val = val;
*root->left = NULL;
*root->right = NULL;
} else if ((*root)->val >= val) {
insert(&(*root)->left, val);
} else {
insert(&(*root)->right, val);
}
}
在主函数中,您可以按如下方式调用它:
int main (void)
{
node_t *root = NULL;
// call this with each value in
insert(&root, <your value>);
}
关于c++ - 如何从层序遍历构造完整树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39144932/
我是一名优秀的程序员,十分优秀!