求先序序列
2023-02-18 16:35:29 时间
题目描述
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤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;
}
相关文章
- [视频教程] 使用docker的方式安装redis
- [日常] Redis中set集合的使用思考
- [日常] 跨语言的POST请求问题的解决
- [PHP] 基于redis的分布式锁防止高并发重复请求
- [日常] 安装windows+deepin双系统
- [视频教程]利用SSH隧道进行远程腾讯云服务器项目xdebug调试
- [日常] 当前项目前端版本管理的情况
- [PHP] vscode配置SFTP扩展同步文件
- [PHP] PHP-FPM的access日志error日志和slow日志
- [日常] 解决docker拉取镜像速度慢的问题
- [视频教程] 配置vscode的PHP自动补全提示与使用Xdebug进行远程调试debug
- [PHP] 配置vscode的语法检测消除提示Cannot validate since no PHP executable is set
- [视频教程] redis中的bit运用统计用户在线天数
- [视频教程] 包管理器方式安装使用openresty新手上路
- [视频教程] 灵活配置多版本PHP并存运行
- [视频教程] ubuntu系统下以守护进程方式安装使用Redis
- [视频教程] 最新版swoole安装和TASKS功能测试
- [视频教程] 使用composer安装使用thinkphp6.0框架
- [视频教程] 配置mysql用户的权限并查询数据
- [视频教程] docker端口映射与目录共享运行PHP