下面是使用C++语言补全的代码:
#include "binary_tree.h"
BiTreeNode* CreatBiTree(char* s, int &i, int len)
{
if (i >= len || s[i] == '#') {
i++;
return nullptr;
}
BiTreeNode* root = new BiTreeNode();
root->data = s[i++];
root->left = CreatBiTree(s, i, len);
root->right = CreatBiTree(s, i, len);
return root;
}
这段代码利用先序遍历字符串s创建二叉树。每次递归判断当前字符是否为’#‘,若是,则表示该节点为空;否则创建一个新节点,并分别递归构建左子树和右子树。最后返回构建好的二叉树的根节点。
内容由零声教学AI助手提供,问题来源于学员提问