题目描述】

树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。

假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。

【输入】

两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表示二叉树的中序遍历和按层遍历的序列。

【输出】

一行,表示二叉树的先序序列。

【输入样例】

DBEAC
ABCDE

【输出样例】

ABDEC

思路:

此题的搜索思路呢,有点像是二分法查找(二分法大家应该都懂的吧),先找到父亲结点,然后根据,left和right来选择遍历左子树还是右子树。具体代码如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#define N 1001
using namespace std;
int len;
char a[N], b[N];
void preorder(int left, int right)
{int i, j=0;bool flag = false;for (i = 0; i < len; i++)//通过按层遍历的第一个元素找到先序遍历的结点{for (j = left; j <= right; j++){if (b[i] == a[j]){cout << a[j];flag = true;break;}}if (flag==true)break;}if (left < j)//遍历左子树preorder(left, j - 1);if (j < right)//遍历右子树preorder(j + 1, right);
}
int main()
{cin >> a >> b;//输入中序遍历字符串与按层遍历字符串len = strlen(a);//len=树的结点个数preorder(0, len - 1);//进行先序遍历return 0;
}

如果大家喜欢的话记得点个赞哦!!!

信息学奥赛一本通1364 二叉树遍历相关推荐

  1. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  2. 信息学奥赛一本通1336:寻找树根和孩子(图论算法-树)详细讲解

    题目 信息学奥赛一本通(C++版)在线评测系统 思路讲解 首先我们可以看到这到题数据量不大,可以直接简单粗暴用邻接矩阵来存,用题目中的数据,邻接矩阵存储如下: 1 2 3 4 5 6 7 8 1 1 ...

  3. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  4. 信息学奥赛一本通 2021:【例4.6】最大公约数

    [题目链接] ybt 2021:[例4.6]最大公约数 [题目考点] 1. while循环 2. 求最大公约数 辗转相减法 辗转相除法 [解题思路] 解法1:枚举 取较小数字,从该数字的值开始从大到小 ...

  5. 信息学奥赛一本通(1101:不定方程求解)

    1101:不定方程求解 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 18175     通过数: 14383 [题目描述] 给定正整数a,b,c.求不定方程 a ...

  6. 信息学奥赛一本通 1278:【例9.22】复制书稿(book) | 洛谷 P1281 书的复制

    [题目链接] ybt 1278:[例9.22]复制书稿(book) 洛谷 P1281 书的复制 [题目考点] 1. 动态规划:线性动规 [解题思路] 该题可以抽象为:将由m个数字构成的序列分成k个子段 ...

  7. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

  8. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  9. 信息学奥赛一本通:1219.马走日

    信息学奥赛一本通:1219.马走日 1219:马走日 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 7406 通过数: 3863 [题目描述] 马在中国象棋以日字形规则移动. 请 ...

  10. 信息学奥赛一本通1329:细胞

    题目 信息学奥赛一本通(C++版)在线评测系统 思路 这是一道典型的bfs染色问题,先遍历数组,只要没有标记为1,就开始bfs染色,最后输出color数量 接下来,咱就来把代码拆开来看看: 1. 准备 ...

最新文章

  1. 官宣!《新程序员·开发者黄金十年》正式发布
  2. pandas使用groupby.last函数获取每个组中的最后一个值实战:groupby.last函数获取每个组中的最后一个值、groupby.nth函数获取每个组中的最后一个值
  3. LCD液晶屏静电防护方案
  4. 2019.4.03 整体总结自己小程序开发的最后上线出现的问题。
  5. java 队列 array_Java源码解析阻塞队列ArrayBlockingQueue常用方法
  6. 按钮点击打开新页面_PDF怎么打开?如何制作一个PDF格式的文档?
  7. linux yum安装redis5.0,CentOS 7安装Redis 5.0.5并加入Systemd服务
  8. esp32 例程 蓝牙_wifiamp;蓝牙MCU 该不该选ESP32
  9. UE4之SetRelativeLocation 和SetRelativeRotation
  10. 在QGIS中使用GEE插件
  11. 还没有合并再请求pull_代码被revert,你pull了master代码没了咋找回来
  12. javaparser
  13. JS对象属性操作之定义属性篇
  14. 07-figma-钢笔工具
  15. 软件工程教程:第7章软件维护 课后习题
  16. ueditor编辑器二次开发与优化
  17. 励志故事:拥有一颗热忱之心
  18. nginx的 ngx.var ngx.ctx ngx.req
  19. 使用Go构建区块链 第2部分:工作量证明
  20. 大国品牌的幕后英雄们

热门文章

  1. The Django Book(一)
  2. 计算机地图制图的点状符号制作,计算机地图制图地图符号库系统建立.doc
  3. 【软件测试】软件测试的环境部署和安装教程[全]
  4. 析论易语言软件加密技术(创世纪篇)
  5. html 做报表,创建 HTML 报表
  6. 信号硬件入门--振幅调制信号发生器(正弦波发生器方案、AM调制方案)--First理论部分
  7. c语言实验11实验报告,c语言 实验报告11 12.doc
  8. android车机升级carplay,现代增加支持DIY升级CarPlay,Android Auto的车型
  9. OFFICE2013工具栏消失后的处理
  10. 免费自制app软件:在线生成APP只需一个URL