#include "iostream"
#include "stack"
using namespace std;
int result[1001];
int cnt;
/* 得到后序序列 */
void getPost(int* pre,int* in,int len) { /* 分别记录当前处理二叉树的前序 后序 和 长度*/if (len == 0)  /* 前序序列长度为0  直接返回*/return;  result[cnt++] = pre[0]; /* 将前序的第一个节点 即当前二叉树的根进入结果数组存储 */int i;for (i = 0; in[i] != pre[0]; i++);getPost(pre+i+1,in+i+1,len-i-1); /* 先递归处理右子树  因为结果要按后序的逆序存储 即为根右左 */getPost(pre+1,in,i); /* 递归处理左子树  */}int main() {int n;int pre[1001], inOrder[1001];while (cin >> n) {cnt = 0;for (int i = 0; i < n; i++)cin >> pre[i];for (int j = 0; j < n; j++) {cin >> inOrder[j];}getPost(pre, inOrder, n);for (int i = n - 1; i >= 0; i--) {if (i == n - 1)cout << result[i];elsecout << " " << result[i];}cout << endl;}return 0;
}

  

转载于:https://www.cnblogs.com/minesweeper/p/5911206.html

杭电1710 (已知二叉树前中序 求后序)相关推荐

  1. POJ 2255/递归:前序中序求后序

    Sample Input DBACEGF ABCDEFG 已知二叉树的前序遍历与后序遍历求后序遍历 算法:前序遍历时,第一位为根:D:找到中序中的D,则前面的ABC在左子树,右边的EFG在右子树,则后 ...

  2. 二叉树的遍历(前序、中序、后序、已知前中序求后序、已知中后序求前序)

    二叉树的遍历(前序.中序.后序.已知前中序求后序.已知中后序求前序)   之前的一篇随笔(二叉树.前序遍历.中序遍历.后序遍历)只对二叉树的遍历进行了笼统的描述,这篇随笔重点对前.中.后序的遍历顺序进 ...

  3. 二叉树已知前序中序求后序(超简单)(java)

    首先解题思路来自b站某高手,思路清奇,请看官先看视频: 无脑秒解!已知先/后序遍历与中序遍历,求后/先序遍历._哔哩哔哩_bilibili大佬轻喷,这个题做很简单,但是想做的快做的准应该没有比这更快的 ...

  4. PAT甲级1020变体:已知二叉树层序+中序序列,求后序遍历序列

    PAT甲级1020变体:已知二叉树层序+中序序列,求后序遍历序列 题目 输入格式 输出格式 输入样例 输出样例 代码 题目 已知二叉树层序+中序序列,求后序遍历序列. 输入格式 第一行给出该二叉树的节 ...

  5. 二叉树:已知先序和中序求后序,已知中序和后序求先序

    树的三种遍历方式的遍历顺序: 先序遍历:根.左子树.右子树(特点:第一个元素为根) 中序遍历:左子树.根.右子树(特点:根的两边分别为左子树和右子树) 后序遍历:左子树.右子树.根(特点:最后一个元素 ...

  6. 二叉树面试题:前中序求后序、中后序求前序

    在面试时,避免不了的会遇到一些数据结构的面试题,今天我们就来了解一下二叉树的经典面试题: 已知二叉树的前序遍历顺序为ABDCEGHF,中序遍历顺序为DBAGEHCF,求该二叉树的后序遍历. 还有: 已 ...

  7. 二叉树知道前序和中序求后序,知道中序后序求中序

    今天来总结下二叉树前序.中序.后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明. 首先,我们看 ...

  8. 根据先序和中序求后序,注意递归终止条件

    #include "stdafx.h" #include <iostream> #include <string> using namespace std; ...

  9. 已知二叉树:先序和中序求后序/后序和中序求先序

    P1030 [NOIP2001 普及组] 求先序排列 # [NOIP2001 普及组] 求先序排列 ## 题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示, ...

最新文章

  1. 一些有用的Python问题
  2. Qcom LK阶段如何使用ADC介绍
  3. pip安装pandas失败Could not find a version that satisfies the requirement pandas
  4. Comet OJ - Contest #0
  5. 转:Java并发编程与高并发解决方案(一)
  6. java 方法 示例_Java集合syncedSortedSet()方法与示例
  7. 使用wireshark+ssh+tcpdump远程抓包
  8. golang python扩展_Python 利用Go语言编写 CPython 扩展 goPy的简单示例
  9. Python问题记录:如何处理中文网页中的多余空格
  10. 无限递归替换文件内的某个字符串
  11. 艺术创意灵感地---集设网 | 人体彩绘的张力
  12. python埋点测试_测试一面(宇宙条)
  13. C++编程技术常见问题有哪些?
  14. 全屏模式fullscreen
  15. 【3D游戏建模全流程教学】使用3dsmax与UE4制作世界末日地铁场景
  16. 石墨烯海水淡化lammps模拟建模方法
  17. 高尚品质_心理学家:品德高尚的人一定具有这6点特征
  18. Python表白代码:“ 星光月夜烟花皆归你,我也归你”
  19. Ubuntu下编译OpenHarmony
  20. unity屏幕渐变黑白效果

热门文章

  1. gitblit无法启动服务
  2. c++命令行解析库cmdline使用
  3. iptables学习笔记:同一端口号同时支持tcp和udp的转发
  4. 在图片中添加自己的文本信息(PNG及JPEG格式)
  5. java实现发送QQ邮件
  6. mybatis 取查询值_Oracle结合Mybatis实现取表TOP 10条数据
  7. 【ElasticSearch 】ElasticSearch监控工具 cerebro
  8. 【Ranger】mac下Apache Ranger编译安装
  9. Rabbitmq的三种方式
  10. SpringBoot 操作 Redis的各种实现(以及Jedis、Redisson、Lettuce的区别比较)