思路:
平时做笔试题目时,都是先拿前序的首字母,去和中序的字母比较,然后把中序的分成两段,不停的遍历,直到长度等于一(即叶子节点)。
例题
二叉树是一种常用的数据结构。我们可以用大写的英文字母表示二叉树的节点。

如下:

     B   /  \    /    \    C      A\\D

对于二叉树,有前序、中序和后序三种遍历方式。 现在给你一棵二叉树的前序和中序遍历,请你求出这棵二叉树的后序遍历结果。

Input
输入数据有多组,每组数据一行。

每行由两个字符串组成(每个字符串长度最大为26)。表示一棵二叉树的前序和中序遍历结果。

题目保证前序和中序遍历是合法的(即肯定可以确定一棵二叉树)。

Output
对于每组输入,输出对应的二叉树的后序遍历结果。

注意:本题输入输出都在控制台中,使用标准输入输出函数即可,不需要读写文件。

Sample Input
BCAD CBAD
ABDGKLRVWSXCEHMNFIOTUJPYQZ KGVRWLSXDBAMHNECTOUIFPYJZQ
Sample Output
CDAB
KVWRXSLGDBMNHETUOIYPZQJFCA

代码

#include <iostream>
#include <stdio.h>
#include <cstring>
using namespace std;
char a[30],b[30];
void fun(int a_l,int a_r,int b_l,int b_r){for(int j=b_l;j<=b_r;j++){if(a[a_l]==b[j]){fun(a_l+1,a_l+j-b_l,b_l,j-1);//左子树fun(a_l+j-b_l+1,a_r,j+1,b_r);//遍历右子树printf("%c",b[j]);//输出根节点break;}}
}
int main()
{while(scanf("%s%s",a,b)!=EOF){int len=strlen(a);fun(0,len-1,0,len-1);printf("\n");}return 0;
}

已知二叉树前序中序,求后序代码实现相关推荐

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

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

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

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

  3. C++实现已知二叉树前序遍历和中序遍历,求后序遍历

    C++实现已知二叉树前序遍历和中序遍历,求后序遍历 一.基本概念 1.先序遍历(NLR)可以确定二叉树的父子结点: 2.中序遍历(LNR)可以确定二叉树的左右子树: 3.后序遍历(LRN)可以确定二叉 ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 我看过的C++方面的好文章
  2. python少儿编程 在线课程-宁波Python程序开发课程
  3. Android的消息处理机制——Looper,Handler和Message浅析
  4. android volley http请求框架
  5. optparse接受带空格的参数值时,需要加双引号
  6. 二分查找 寻找指定数 python 实现
  7. POJ - 3080 Blue Jeans(暴力+KMP)
  8. Spring原理之代理与动态代理模式总结(四)
  9. 拥抱开源!除了微软红帽,这些国际大厂你认识几个?
  10. 基于DotNet Core的RPC框架(一) DotBPE.RPC快速开始
  11. c 自定义实现string类 clear_CC++语言15|类的继承和派生实现代码重用、扩充
  12. 使用 NetDataContractSerializer 共享类型
  13. jdi屏幕斜纹_荣耀V10屏幕有斜纹问题,有人甚至因此退货,真的这么严重?
  14. AD域控制器所有使用的端口明细列表
  15. Git提交时提示“Please make sure you have the correct access rights and the repository exists.”的解决方法
  16. node-red 可视化_可视化和注意-第4部分
  17. android qq群加群代码,QQ群一键强制加群API源代码
  18. cad.net 块裁剪边界反向修剪
  19. 手机与个人计算机区别,手机CPU跟电脑CPU有什么差别?两者差距到底有多大?
  20. 基于TensorFlow Encrypted (TFE)的隐私计算benchmark

热门文章

  1. mknod Permission denied
  2. 导师与研究生认识的差异
  3. 【006】基于51单片机的简易电子计算器Proteus仿真设计
  4. ueditor处理不能上传音乐的问题
  5. web前端开发学习视频教程下载(百G)
  6. 详解FIR滤波器和IIR滤波器的区别
  7. 鹰眼瞭望系统属于什么服务器,智慧城轨:描绘更加智能、安全的出行蓝图
  8. 【ZJOI2012】【BZOJ2657】旅游(journey)
  9. tp6.0文档解析(简介+安装)
  10. top日常(参数详解)