【hihoCoder】1049.后序遍历
问题:http://hihocoder.com/problemset/problem/1049?sid=767510
已知一棵二叉树的前序遍历及中序遍历结果,求后序遍历结果
思路:
前序:根-左子树-右子树
中序:左子树-根-右子树
后序:左子树-右子树-根
递归的方法,从前序得到根结点,然后根据中序发现两个子树。先求子树的后序遍历结果,再把当前的根添加在最后即可。
#include <iostream>
#include <string>
using namespace std; void toPostOrder(string preOrder, string inOrder, string& postOrder, int len){
if (len <= )
return;
int i = ;
for (; i < len; i++)
if (preOrder[] == inOrder[i])
break; toPostOrder(preOrder.substr(), inOrder, postOrder, i);
toPostOrder(preOrder.substr(i + ), inOrder.substr(i + ), postOrder, len - i - );
postOrder.push_back(preOrder[]);
} int main(){
string preOrder, inOrder;
cin >> preOrder >> inOrder;
string postOrder;
toPostOrder(preOrder, inOrder, postOrder, preOrder.length());
cout<<postOrder<<endl;
return ;
}
【hihoCoder】1049.后序遍历的更多相关文章
- hihocoder 1049 后序遍历
#1049 : 后序遍历 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在参与过了美食节之后,小Hi和小Ho在别的地方又玩耍了一阵子,在这个过程中,小Ho得到了一个非常 ...
- hihoCoder 1049 后序遍历 最详细的解题报告
题目来源:后序遍历 解题思路:开始时我只知道先通过先序.中序求出二叉树,然后再后序遍历二叉树,这当然也是一种解题思路,但是会做一些无用功,比如:计算二叉树.其实,可以直接通过先序序列和中序序列直接求出 ...
- hihocoder 1049 后序遍历树
#include<cstdio> #include<cstdlib> #include<iostream> #include<cstring> #inc ...
- hihoCoder week10 后序遍历
题目链接 https://hihocoder.com/contest/hiho10/problem/1 给出先序 中序 求 后序 #include <bits/stdc++.h> usi ...
- HihoCoder第十周:后序遍历
也就在大二学数据结构的时候知道了树的前序遍历.后序遍历.中序遍历.之后就忘了,在之后就是大四研究生老师考我,我当时还不知道,真够丢人的.自此之后,知道了如何通过其中两个得到第三个,但是也没有编程实现过 ...
- 【HIHOCODER 1049】 后序遍历
描述 在参与过了美食节之后,小Hi和小Ho在别的地方又玩耍了一阵子,在这个过程中,小Ho得到了一个非常有意思的玩具--一棵由小球和木棍连接起来的二叉树! 小Ho对这棵二叉树爱不释手,于是给它的每一个节 ...
- [LeetCode] Binary Tree Postorder Traversal 二叉树的后序遍历
Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary ...
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal 由中序和后序遍历建立二叉树
Given inorder and postorder traversal of a tree, construct the binary tree. Note: You may assume tha ...
- 剑指Offer面试题:22.二叉搜索树的后序遍历序列
一.题目:二叉搜索树的后序遍历序列 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true,否则返回false.假设输入的数组的任意两个数字都互不相同. 例如在下面 ...
随机推荐
- zoj 3471(状态压缩)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4257 dp[state]表示当前状态为state时的所能获得的最大值 ...
- barabasilab-networkScience学习笔记2-图理论
第一次接触复杂性科学是在一本叫think complexity的书上,Allen博士很好的讲述了数据结构与复杂性科学,barabasi是一个知名的复杂性网络科学家,barabasilab则是他所主导的 ...
- Ubuntu 14.04下翻译软件的安装与比较
转载:sixipiaoyang.blog.163.com/blog/static/6232358820144146386437/
- 【SSM】拦截器的原理、实现
一.背景: 走过了双11,我们又迎来了黑色星期五,刚过了黑五,双12又将到来.不管剁手的没有剁手的,估计这次都要剁手了!虽然作为程序猿的我,没有钱但是我们长眼睛了,我们关注到的是我们天猫.淘宝.支付宝 ...
- 解决mysql shell执行中文表名报command not found错误
mysql -h 192.168.22.201 -uusername -ppassword --default-character-set=utf8 rom3 -e "DELETE FROM ...
- Loadrunner中百分比模式和Vuser模式
从百分比模式切换到Vuser模式后,多个脚本时候,每个脚本的比例仍然维持不变: 切换到Vuser模式后: 如果在场景执行过程中需要动态添加Vuser,只能在Vuser模式下执行场景 如果需要执行“组” ...
- 《DSP using MATLAB》示例Example5.5
代码: %% ---------------------------------------------------------- %% START N=5 %% ------------------ ...
- css3 -- 颜色与不透明度
1.opacity: opacity的值会被它的所有子元素继承,也就是说不可能让一个元素比他的父元素更加不透明,但你可以让他变得更透明点 Firefox Webkit Opera支持,注意IE 2 ...
- spring mvc 入门配置
1. 把所需jar拷贝到工程目录下WEB-INF/lib 2. 配置WEB.xml,配置前端控制器 org.springframework.web.servlet.DispatcherServlet ...
- discuz安装步骤
1.下载full安装包http://www.comsenz.com/downloads/install/discuz/ 下载好了以后,解压文件.把upload中的所有文件,复制到你服务器网站目录下. ...