文章
20
粉丝
130
获赞
2
访问
10.5k
#include<iostream>
using namespace std;
typedef struct node{
char data;
struct node *lchild,*rchild;
}*BitTree;
//创建二叉树
/*
先序:A BEI DJ
中序:EBI A DJ
后序:EIB JD A
*/
//求先序
void CreateBitTree(string s1,string s2,BitTree &T)
{//默认s1为中序,s2为后序
//空节点
if(s1.size() == 0)
{
T=NULL;
return;
}
T = new node;
//根结点
int pos = s1.find(s2[s2.size() - 1]);//找到 A 根结点 下标为3
T->data = s1[pos];
if(s1.size() == 1)
{
T->lchild = NULL;
T->rchild = NULL;
return ;
}
//中序:EBI A DJ
//后序:EIB JD A
//递归左子树
string x= s1.substr(0,pos);//从0开始
&...
登录后发布评论
暂无评论,来抢沙发