数据结构——基于字符串的前序遍历二叉树创建
首先是二叉树结点的定义
typedef struct node {
char data;
struct node* left;
struct node* right;
}LTree,*Tree;
接下来就是构建二叉树了
string s是已知的前序遍历的字符串,其中 0 代表空节点
void createtree(Tree& T,string s,int &pos)//pos用来记录字符串遍历到的位置
{
if (s[pos] == '0')//如果当前位置字符为'0',则为空节点
{
T = NULL;
pos++;
}
else
{
T = new LTree;
T->data = s[pos];
pos++;
createtree(T->left, s, pos);
createtree(T->right, s, pos);
}