POJ 2255 Tree Recovery(已知前序&中序,求后序)
发布日期:2021-07-01 03:39:51
浏览次数:2
分类:技术文章
本文共 973 字,大约阅读时间需要 3 分钟。
1. 题目链接:
2. 题目大意:
给定二叉树的前序和中序序列,输出其后序序列
3. 思考过程:
4. AC代码
/** * @description: 给出前序和中序二叉树节点序列,求后序二叉树节点输出序列 * @author: michael ming * @date: 2019/5/21 18:49 * @modified by: */#include#include using namespace std;void postOrder(string &pre, int pre_start, int pre_end, string &in, int in_start, int in_end){ char root = pre[pre_start]; //前序的根节点 int pos = in.find(root); //在中序里找到root int L_len = pos - in_start, R_len = in_end - pos; //计算左右子树长度 if(L_len >= 1) postOrder(pre, pre_start+1, pre_start+L_len, in, in_start, pos-1); //对左子树递归调用 if(R_len >= 1) postOrder(pre, pre_start+L_len+1, pre_end, in, pos+1, pos+R_len); //对右子树递归调用 cout << root; //后序,最后输出根节点}int main(){ string preOrder, inOrder; while(cin >> preOrder >> inOrder) { //参数(前序字符,前序开始p,前序结束p,中序字符,中序开始p,中序结束p) postOrder(preOrder, 0, preOrder.size()-1, inOrder, 0, inOrder.size()-1); cout << endl; } return 0;}
转载地址:https://michael.blog.csdn.net/article/details/90417310 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月22日 05时39分11秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
连锁门店无线通信方案
2019-05-01
配置Lotus Domino集群视频详解
2019-05-01
Linux软件万花筒
2019-05-01
全球开源软件发展趋势分析
2019-05-01
Linux常用的安全工具
2019-05-01
python 多进程之进程池的操作
2019-05-01
flask整理之 flask程序中的debug模式
2019-05-01
比特币,父母这一辈能接受吗?
2019-05-01
为什么要反对比特币,这不代表是空气币
2019-05-01
SnapEx的新感觉,对新手很友好
2019-05-01
首个聚合器怎么产生的,并运用领域在什么
2019-05-01
区块链技术应用,最先医疗行业
2019-05-01
新币上市旧币会降价吗
2019-05-01
当博士进入币圈会怎么样
2019-05-01
PHP之 使用PHPMailer插件实现邮件发送功能
2019-05-01
《增长黑客》(肖恩·艾利斯)学习笔记——第二部分 实战
2019-05-01
python使用HTMLTestRunner查看运行函数
2019-05-01
python的ImportError
2019-05-01
linux下安装jenkins+git+python
2019-05-01
解决uiautomatorviewer中添加xpath的方法
2019-05-01