求先序序列
2023-09-14 09:08:54 时间
题目描述
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8)。
输入格式
2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。
输出格式
1行,表示一棵二叉树的先序。
输入输出样例
输入 #1
BADC
BDCA
输出 #1
ABCD
先序后续的概念:
首先要知道的是,有前序(后序)和中序可以求后序(前序),但是只有前序和后序是不能求得中序的
前序:1,2,4,5,3
中序:4,2,5,1,3
后序:4,5,2,3,1
代码:
#include<iostream>
#include<cstring>
using namespace std;
void beford(string in,string after){
if (in.size()>0){
char ch =after[after.size()-1];
cout<<ch;
int k =in.find(ch);
beford(in.substr(0,k),after.substr(0,k));//递归左子树
beford(in.substr(k+1),after.substr(k,in.size()-k-1));//递归右子树
}
}
int main(){
string inord,aftord;
cin>>inord;
cin>>aftord;
beford(inord,aftord);
cout<<endl;
}
相关文章
- 新冠疫情地市级时间序列数据采集_python数据处理
- 日拱算法:双指针解“判断子序列”,除夕快乐~
- 数据分享|R语言分析上海空气质量指数数据:kmean聚类、层次聚类、时间序列分析:arima模型、指数平滑法|附代码数据
- R语言用logistic逻辑回归和AFRIMA、ARIMA时间序列模型预测世界人口|附代码数据
- Transformer新玩法登Nature子刊:DeepMind用新变体读取DNA长序列,瞄准遗传病高发区域
- python学习 数据类型之序列详解编程语言
- C++序列容器存储智能指针详解
- Oracle序列的创建与使用(oracle创建序列)
- Oracle序列设置:精准控制自增序号(oracle设置序列)
- 创建PostgreSQL数据库序列的实践(postgresql序列)
- 主键Oracle中使用序列生成主键的简便方法(oracle中序列生成)