UVA 536 Tree Recovery
来源:互联网 发布:软件模块接口参数 编辑:程序博客网 时间:2024/06/12 11:38
题意:
给出一个二叉树的前序遍历和中序遍历,输出其后序遍历
思路:
利用递归,将前序数组和中序数组不断划分,不断将前序数组的第一个值存入后序数组
#include <iostream>#include <string>using namespace std;string per,in,pos;void initial(){ pos.clear();//清空字符串}void compute(string perord,string inord){ int length,i; length=perord.size(); if(length>0)//递归条件判断一般不用“=” { i=int(inord.find(perord[0]));//find()返回值为迭代器,用int()转化为下标,返回前序数组的首位在中序数组中的位置,即根的位置,进而分为左子树和右子树 compute(perord.substr(1,i),inord.substr(0,i));//substr()复制字符串,第一个参数为下标,第二个参数为复制的个数,左子树 compute(perord.substr(i+1,length-i-1), inord.substr(i+1,length-i-1));//右子树 pos.push_back(perord[0]);//存入pos中 }}int main(){ while(cin>>per>>in) { initial(); compute(per,in); cout<<pos<<endl; } return 0;}
阅读全文
0 0
- UVA 536 - Tree Recovery
- uva 536Tree Recovery
- uva 536 - Tree Recovery
- UVA 536 Tree Recovery
- UVA 536 Tree Recovery
- UVa, 536 Tree Recovery
- uva 536 - Tree Recovery
- UVa 536 - Tree Recovery
- UVA - 536 Tree Recovery
- UVa 536 Tree Recovery
- UVa 536 - Tree Recovery
- UVA - 536 Tree Recovery
- Uva - 536 - Tree Recovery
- Tree Recovery-UVA 536
- uva 536 - Tree Recovery
- Uva-536 Tree Recovery
- UVA - 536 Tree Recovery
- UVA 536 Tree Recovery
- 单链表
- C语言分析——文件操作
- CodeForces 867C Ordering Pizza
- 搜集来的命令集合,挺好的
- 第三章 运算符 表达式
- UVA 536 Tree Recovery
- Django基础
- 171011 逆向-Reversing.kr(HateIntel)
- win7下U盘安装Ubuntu 双系统
- angularjs动画模块
- 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
- POJ-2796 Feel Good(单调栈)
- java web maven 项目使用dwr,启动项目报错java.lang.NoSuchMethodError
- Linux Unit1--Linux入门基础