文章
20
粉丝
130
获赞
2
访问
10.9k
#include<bits/stdc++.h>
using namespace std;
//由先中,求后
/*
先序:A BEI DJ
中序:EBI A DJ
后序:EIB JD A
*/
void print1(string s1,string s2)
{
//空节点
if(s1 == "\0" || s2 == "\0") return ;//空
//根结点
int pos = s2.find(s1[0]);//找到 A 根结点 下标为3
//左子树
print1(s1.substr(1,pos),s2.substr(0,pos));
//右子树
print1(s1.substr(pos+1),s2.substr(pos+1));
//打印
//每一次S1拆分之后左子树与右子树的第一个点(s1【0】)都是根结点
cout<<s1[0];
}
//中+后,求先
/*
先序:A BEI DJ
中序:EBI A DJ
后序:EIB JD A
*/
void print2(string s1,string s2)
{
if(s1 == "\0" || s2== "\0") return;//空
//根结点
int pos = s1.find(s2[s2.size() -1]);//找到 A 根结点 下标为3
//找到即为根结点
cout<<s1[...
登录后发布评论
暂无评论,来抢沙发