1. 题目链接:http://poj.org/problem?id=2255

2. 题目大意:

给定二叉树的前序和中序序列,输出其后序序列

3. 思考过程:

4. AC代码

/*** @description: 给出前序和中序二叉树节点序列,求后序二叉树节点输出序列* @author: michael ming* @date: 2019/5/21 18:49* @modified by: */
#include <iostream>
#include <string>
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);    //在中序里找到rootint 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;
}

POJ 2255 Tree Recovery(已知前序中序,求后序)相关推荐

  1. HLG2040二叉树遍历已知前中,求后

    二叉树的遍历 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 60(34 users) Total Accepted: 34(30 us ...

  2. LeetCode 105. 已知前序中序 求二叉树

    文章目录 1. 题目 2. 解题 1. 题目 类似POJ 2255 Tree Recovery 2. 解题 class Solution {public:TreeNode* buildTree(vec ...

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

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

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

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

  5. 已知前序中序输出后序(java)返回值是数组

    例子: 前序:1, 2, 3, 4, 5, 6(根左右) 中序:3, 2, 4, 1, 6, 5(左根右) 后序:3, 4, 2, 6, 5, 1(左右根) 1.先说根据前序中序求后序,前序总是沿着根 ...

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

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

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

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

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

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

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

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

最新文章

  1. RNA-seq分析-数据库
  2. 人人都能学会的python编程教程11:定义函数
  3. php 接口的定义与实现,PHP接口定义与用法示例
  4. bigtall的敏捷日记(1)
  5. 【杂谈】为何有三AI只做原创,从不转载
  6. java的调试工具_2020年最佳Java调试工具(翻译)
  7. 小米盒子老是服务器无响应,教你解决小米盒子黑屏死机等故障解决办法!
  8. 【游戏开发】C 游戏编程实例
  9. 不一样的ZTree,权限树.js插件
  10. 属于python应用领域的有数据可视化_Python数据可视化
  11. (数据科学学习手札45)Scala基础知识
  12. 做科研,到底应该看什么?
  13. 「雕爷学编程」Arduino动手做(22)——8X8 LED点阵MAX7219屏
  14. [转]Android TV 遥控器适配
  15. Web敏感目录快速扫描软件 wwwscan
  16. 新建github分支
  17. C++ 一篇搞懂继承的常见特性
  18. Spring(二)--------Spring配置、DI依赖注入、Bean自动装配
  19. 深航App劫持微信;Apple News上线首日遭遇各种崩溃;华为P30“望远镜手机”正式发布 | 雷锋早报... 1
  20. 艺赛旗(PRA)根据制式模板批量生成 word 文件

热门文章

  1. Hive简单实际操作(二)
  2. Python中 sys.argv[]的用法
  3. 点击开启此虚拟机时,出现“该虚拟机似乎正在使用中”问题
  4. 这本轻小说真厉害 2016
  5. MinerConfig.java 爬取配置类
  6. IOS_改变UITextField placeHolder颜色、字体
  7. POJ2503 Babelfish(二分)
  8. xcode 4.2开发 ——navigation controller 添加按钮
  9. hibernate的初次使用
  10. 「任性」的C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日...