POJ 2255 Tree Recovery(已知前序中序,求后序)
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(已知前序中序,求后序)相关推荐
- HLG2040二叉树遍历已知前中,求后
二叉树的遍历 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 60(34 users) Total Accepted: 34(30 us ...
- LeetCode 105. 已知前序中序 求二叉树
文章目录 1. 题目 2. 解题 1. 题目 类似POJ 2255 Tree Recovery 2. 解题 class Solution {public:TreeNode* buildTree(vec ...
- 二叉树已知前序中序求后序(超简单)(java)
首先解题思路来自b站某高手,思路清奇,请看官先看视频: 无脑秒解!已知先/后序遍历与中序遍历,求后/先序遍历._哔哩哔哩_bilibili大佬轻喷,这个题做很简单,但是想做的快做的准应该没有比这更快的 ...
- 二叉树的遍历(前序、中序、后序、已知前中序求后序、已知中后序求前序)
二叉树的遍历(前序.中序.后序.已知前中序求后序.已知中后序求前序) 之前的一篇随笔(二叉树.前序遍历.中序遍历.后序遍历)只对二叉树的遍历进行了笼统的描述,这篇随笔重点对前.中.后序的遍历顺序进 ...
- 已知前序中序输出后序(java)返回值是数组
例子: 前序:1, 2, 3, 4, 5, 6(根左右) 中序:3, 2, 4, 1, 6, 5(左根右) 后序:3, 4, 2, 6, 5, 1(左右根) 1.先说根据前序中序求后序,前序总是沿着根 ...
- 二叉树:已知先序和中序求后序,已知中序和后序求先序
树的三种遍历方式的遍历顺序: 先序遍历:根.左子树.右子树(特点:第一个元素为根) 中序遍历:左子树.根.右子树(特点:根的两边分别为左子树和右子树) 后序遍历:左子树.右子树.根(特点:最后一个元素 ...
- 二叉树知道前序和中序求后序,知道中序后序求中序
今天来总结下二叉树前序.中序.后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明. 首先,我们看 ...
- 根据先序和中序求后序,注意递归终止条件
#include "stdafx.h" #include <iostream> #include <string> using namespace std; ...
- POJ 2255/递归:前序中序求后序
Sample Input DBACEGF ABCDEFG 已知二叉树的前序遍历与后序遍历求后序遍历 算法:前序遍历时,第一位为根:D:找到中序中的D,则前面的ABC在左子树,右边的EFG在右子树,则后 ...
最新文章
- RNA-seq分析-数据库
- 人人都能学会的python编程教程11:定义函数
- php 接口的定义与实现,PHP接口定义与用法示例
- bigtall的敏捷日记(1)
- 【杂谈】为何有三AI只做原创,从不转载
- java的调试工具_2020年最佳Java调试工具(翻译)
- 小米盒子老是服务器无响应,教你解决小米盒子黑屏死机等故障解决办法!
- 【游戏开发】C 游戏编程实例
- 不一样的ZTree,权限树.js插件
- 属于python应用领域的有数据可视化_Python数据可视化
- (数据科学学习手札45)Scala基础知识
- 做科研,到底应该看什么?
- 「雕爷学编程」Arduino动手做(22)——8X8 LED点阵MAX7219屏
- [转]Android TV 遥控器适配
- Web敏感目录快速扫描软件 wwwscan
- 新建github分支
- C++ 一篇搞懂继承的常见特性
- Spring(二)--------Spring配置、DI依赖注入、Bean自动装配
- 深航App劫持微信;Apple News上线首日遭遇各种崩溃;华为P30“望远镜手机”正式发布 | 雷锋早报... 1
- 艺赛旗(PRA)根据制式模板批量生成 word 文件
热门文章
- Hive简单实际操作(二)
- Python中 sys.argv[]的用法
- 点击开启此虚拟机时,出现“该虚拟机似乎正在使用中”问题
- 这本轻小说真厉害 2016
- MinerConfig.java 爬取配置类
- IOS_改变UITextField placeHolder颜色、字体
- POJ2503 Babelfish(二分)
- xcode 4.2开发 ——navigation controller 添加按钮
- hibernate的初次使用
- 「任性」的C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日...