7-9 根据后序和中序遍历输出先序遍历 (10 分)

本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。

输入格式:

第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。

输出格式:

在一行中输出Preorder: 以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。

输入样例:

7
2 3 1 5 7 6 4
1 2 3 4 5 6 7

结尾无空行

输出样例:

Preorder: 4 1 3 2 6 5 7

结尾无空行

#include<iostream>
using namespace std;
const int N=40;
int n,index;
int post[N],in[N],pre[N];
void dfs(int root,int l,int r){if(l>r)return ;int i=l;while(i<r&&in[i]!=post[root])i++;pre[index++]=post[root];dfs(root-(r-i+1),l,i-1);dfs(root-1,i+1,r);
}
int main(){cin>>n;for(int i=0;i<n;i++)cin>>post[i];for(int i=0;i<n;i++)cin>>in[i];printf("Preorder:");dfs(n-1,0,n-1);for(int i=0;i<n;i++)printf(" %d",pre[i]);return 0;
}

7-9 根据后序和中序遍历输出先序遍历 (10 分)相关推荐

  1. 7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)

    7-10 先序序列创建二叉树,输出先序序列.中序序列.后序序列并输出叶子结点数 (10 分) 对于给定的二叉树,输出其先序序列.中序序列.后序序列并输出叶子结点数. 输入格式: 二叉树的先序遍历序列. ...

  2. 刷题之完全二叉树的权值和小字辈及根据后序和中序遍历输出先序遍历

    1.完全二叉树的权值 1)题目 给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下.从左到右的顺序依次是 A1, A2, ··· AN,如下图所示: 现在小明要把相同深度的节 ...

  3. 4-15 根据后序和中序遍历输出先序遍历

    4-15 根据后序和中序遍历输出先序遍历 分数 15 作者 DS课程组 单位 浙江大学 本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果. 输入格式: 第一行给出正整数N( ...

  4. pta 7-6 根据后序和中序遍历输出先序遍历 (25 分)

    大家不会的可以看一下我的一篇文章我是链接-关于二叉树遍历的基础知识 本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果. 输入格式: 第一行给出正整数N(≤30),是树中结点 ...

  5. 天梯选拔:先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数

    思路分析: 这道题考察二叉树的建立以及二叉树的前序遍历.中序遍历和后序遍历.首先按照先序建立二叉树.在这期间需要先建立一个结构体,包括当前节点的值,以及它的左儿子和右儿子.注意这里不能直接存左儿子和右 ...

  6. 根据后序和中序遍历输出先序遍历

    本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果. 输入格式: 第一行给出正整数N(≤30),是树中结点的个数.随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果, ...

  7. 由树先序遍历和中序遍历输出其后续遍历

    递归的三个必要条件 1. 弄明白递归的顺序.在递归的实现中,需要假设后续的调用已经完成,在此基础上,才实现递归的算法,先考虑后面的逻辑. 2. 分析清楚递归体的逻辑,然后写出来.具体的递归体需要解决什 ...

  8. 6-7 求一组数中的最大值、最小值和平均值 (10 分)

    编写函数,求一组数中的最大值.最小值和平均值. 函数接口定义: float fun(int a[],int n,int *max,int *min); 其中 a.n.max 和 min 都是用户传入的 ...

  9. java输出乱序日语假名

    package com.test;import java.util.ArrayList; import java.util.Arrays; import java.util.List; import ...

最新文章

  1. php如何取消bak自动备份_教你如何进行异地自动备份数据库
  2. 肝货!普通人如何拿到 1 万年薪?看这篇文章就够了
  3. 跟我学PHP第二篇- 配置Mysql以及PHP WampServer篇(1)
  4. 2020 China Collegiate Programming Contest Qinhuangdao Site 补题部分
  5. python re findall 效率_python re模块findall()详解
  6. Android Native 内存泄漏系统化解决方案
  7. python中添加路径_python中添加模块导入路径的方法
  8. 灯珠电路图_可充电led台灯电路图
  9. Joining Byte Blocks(哈希+带花树)
  10. 如何搭建一个spring boot项目
  11. Emacs镜像ELPA
  12. 赛尔笔记 | 通用领域条件性知识图谱数据集
  13. 卡巴斯基2014激活码授权文件KEY
  14. ps图标长投影如何做?
  15. 仿生象鼻机械臂的创新设计与应用研究
  16. Device ID的用处和读取方法
  17. import clip时Cannot re-initialize CUDA in forked subprocess
  18. 【数据库 · MySQL】听韩顺平老师课草稿
  19. VSCode下载及安装
  20. 移动,相机控制与碰撞

热门文章

  1. WordPress疑难问题以及解决方案汇总
  2. 建立你第一个 Outlook Add-in
  3. Android Media (Audio) Framework 多媒体系统框架
  4. hdu5486 Difference of Clustering 暴力
  5. HDU 1757 A Simple Math Problem(矩阵快速幂)
  6. Hibernate 修改数据
  7. 再谈Js定义变量,你不得不踩的那些坑
  8. Vue 左右翻页,点赞动画
  9. 牛客竞赛mjt的毒瘤赛
  10. python里面的正则表达式