二叉树遍历(已知中序和按层遍历求先序 递归)
来源:互联网 发布:php 文章管理系统 编辑:程序博客网 时间:2024/05/28 11:50
二叉树遍历(flist)
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 8 通过数: 6
【题目描述】
树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。
假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。
【输入】
两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表示二叉树的中序遍历和按层遍历的序列。
【输出】
一行,表示二叉树的先序序列。
【输入样例】
DBEACABCDE
【输出样例】
ABDEC
【来源】
No
提交 统计信息
#include<iostream>#include<cstring>using namespace std;string s1,s2;void calc(int l1,int r1,int l2,int r2){int i,j;for(i=l2;i<=r2;i++)//找层次遍历中优先输出根节点的位置 {int b=0;for(j=l1;j<=r1;j++){if(s2[i]==s1[j]) {cout<<s1[j];//输出根节点 b=1;break;}}if(b) break;}if(j>l1) calc(l1,j-1,0,r2);//遍历左子树 if(j<r1) calc(j+1,r1,0,r2);//遍历右子树 }int main(){cin>>s1>>s2;calc(0,s1.length()-1,0,s2.length()-1);cout<<endl;return 0;}这种题一般都要先确定好根节点的位置。然后才根据先序、中序、后序的规则进行递归。
阅读全文
0 0
- 二叉树遍历(已知中序和按层遍历求先序 递归)
- 已知前序和中序遍历恢复二叉树(递归)
- 二叉树遍历,已知前序遍历与中序遍历,求后续遍历 使用java(递归方式)实现
- 已知二叉树的中序遍历和后序遍历,求先序遍历
- 二叉树系列(二):已知中序遍历序列和后序遍历序列,求先序遍历序列
- 已知二叉树后序遍历和中序遍历,求前序遍历
- 二叉树的前、中、后序遍历(递归和非递归)、层序遍历、深度、叶子节点个数
- 二叉树遍历问题:已知中序遍历和后序遍历结果,求前序遍历结果
- 【数据结构与算法】二叉树的遍历(递归遍历、非递归遍历、层序遍历)
- 已知二叉树先序和中序遍历,生成二叉树
- 已知二叉树的前序遍历和中序遍历求后序遍历(二叉树)
- 已知二叉树的后序遍历和中序遍历求前序遍历(二叉树)
- 二叉树系列:已知二叉树的中序遍历和前序遍历,求后序遍历
- C++实现二叉树 前序遍历, 后序遍历, 中序遍历, 层序遍历(不用递归)
- 二叉树之已知前序和中序遍历求后序遍历(POJ &&HDU )
- 建立二叉树(已知中序遍历和先序遍历)
- 六、树和二叉树--(3)已知先序遍历和中序遍历求后序遍历
- 已知二叉树的前序遍历和中序遍历重建二叉树(二叉树)
- Delphi调用SQL分页存储过程实例
- 大数据学习8:YARN的工作原理
- 使用IDEA搭建SSM框架(IDEA+Maven+Spring+SpringMVC+MyBatis)
- 出售各类账号的小项目 小赚一笔
- Linux-LVS负载均衡DR模式
- 二叉树遍历(已知中序和按层遍历求先序 递归)
- 网络编程概述和三要素(IP/端口号/协议)以及Socket通信原理
- 字符串与16进制转化
- linux系统下编写I2C驱动
- Android学习笔记一之Android基础
- 解决提交表单时Xss攻击的问题
- 用冒泡排序的算法对输入的字符串进行排序
- 单例模式
- Android传输数据时MD5加密解密详解