P1827 [USACO3.4] 美国血统 American Heritage

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;typedef long long LL;string in, pre;string dfs(int idx, int l, int r)
{//递归结束条件 if(l > r) return "";//找到以idx为根的中序遍历下标,然后将中序遍历分割成左右子树 int i = l;while(i < r && in[i] != pre[idx]) i ++;string post = "";//左子树根节点idx + 1,l, i - 1中序遍历端点 post += dfs(idx + 1, l, i - 1);//右子树根节点为idx + i - l + 1, i + 1, r 中序遍历端点 post += dfs(idx + (i - l) + 1, i + 1, r);//将根节点加入字符串,相当于树的后续遍历架构 post += pre[idx];return post;
}int main()
{cin >> in >> pre;//根节点在前序中的下标,中序序列的左右端点 cout << dfs(0, 0, in.size() - 1) << endl;return 0;
}

树的中序遍历+前序遍历得到后序遍历相关推荐

  1. 二叉树的前序遍历,二叉树的中序遍历,二叉树的后序遍历,二叉树的层序遍历

    二叉树的前序遍历 144. 二叉树的前序遍历 - 力扣(LeetCode) (leetcode-cn.com) 给你二叉树的根节点 root ,返回它节点值的 前序 遍历. 示例 1: 输入:root ...

  2. 二叉树前序遍历python输出_[宜配屋]听图阁 - Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例...

    本文实例讲述了Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作.分享给大家供大家参考,具体如下: 实现一个功能: 输入:一颗二叉树的先序和中序遍历 输出:后续遍历 思想: 先序遍历中,第 ...

  3. 为什么普通树没有中序遍历和森林没有后序遍历

    本文为个人理解,若有错误欢迎指正! 这里说的树当然是指普通的树,而不是树中比较特别的二叉树. 1.为什么普通树没有中序遍历 中序遍历是对于二叉树而言: 中序遍历左子树,访问根结点,中序遍历右结点. 在 ...

  4. “中序表达式”转换为“前序表达式”、“后序表达式”

    上周末参照书本写了个"计算器"的程序,其中最令我费解的就是"前序表达式"."后续表达式",好像记得老师在上课的时候讲过,估计当时也没听懂,看 ...

  5. 已知满二叉树先序序列存在于数组中,设计算法将其变成后序序列

    解题思路: 满二叉树:除最后一层无任何子结点外,每一层上的所有结点都有两个以上的结点 先序序列:DLR 后序序列:LRD 先从最简单的满二叉树开始: 1.只有一个结点的满二叉树 2.有三个结点的满二叉 ...

  6. 给定二叉树先序、中序遍历序列,求后序遍历

    给定一个二叉树的前序遍历和中序遍历的序列,输出对应这个二叉树的后续遍历序列. 输入描述: 输入为一行. 两个字符串,分别表示二叉树的前序遍历和中序遍历结果,用空格分隔.保证数据合法 输出描述: 对应输 ...

  7. 已知二叉树先序和中序遍历结果,求后序遍历结果

    以下面的例题为例进行讲解:已知一棵二叉树的先序遍历序列和中序遍历序列分别是ABDCEF.BDAECF,求二叉树及后序遍历序列. 分析:先序遍历序列的第一个字符为根结点.对于中序遍历,根结点在中序遍历序 ...

  8. 树形结构:使用栈实现,快排,先序遍历,归并排序,后序遍历

    主要还是学习使用栈模拟实现递归: 总结一下,首先通过栈实现递归是有规律可行的,这里面涉及整体到部分,一切都是对象的思想,把一个整体看成一个对象,这个对象是数据和操作的集合,定义这些操作,把操作顺序按照 ...

  9. 给出中序和前序求后序Java,已知二叉樹前序,中序遍歷,求后序遍歷,java實現...

    簡單介紹一下思想,先看前序,前序遍歷的第一個節點,就是該樹的根.在中序中找到該根的位置,設為index,在中序遍歷集合中,位於index之前的屬於根的左子樹,位於index之后的屬於根的右子樹.然后, ...

  10. 173. 二叉搜索树迭代器/94. 二叉树的中序遍历/145. 二叉树的后序遍历/98. 验证二叉搜索树

    2020-05-12 1.题目描述 二叉搜索树迭代器 2.题解 对于二叉搜索树而言,进行中序遍历就可以得到其有序序列,我们可以先对树进行遍历,将结果保存在 vector中,然后进行计算即可. 3.代码 ...

最新文章

  1. 【干货】105页周志华教授《机器学习手推公式》开源PDF
  2. Ibatisnet示例:npetshop学习一
  3. vba九九乘法表代码_【VBA实例】在立即窗口获得九九乘法口诀
  4. 从贝叶斯理论到马尔可夫随机场(MRF)--以图像分割为例
  5. VTK:可视化算法之ImageGradient
  6. variable `xxx' has initializer but incomplete type
  7. 登录方式2:windows命令行
  8. depends用于测试程序运行所缺少的文件,可以帮我们很快找到问题
  9. .NET Core开发:项目实践
  10. java uuid_Java UUID
  11. 2021全球权威AI性能竞赛MLPerf最新榜单: 浪潮获18项冠军几近半壁江山
  12. 2.高性能MySQL --- MySQL 基准测试
  13. !!终于把【库存管理的大致功能完成了!】
  14. @Autowired注解位置、@Autowired与@Resource的区别与注入流程
  15. 如何养成良好的生活习惯 — 饮食、睡眠、运动
  16. 取消360导航作为浏览器访问首页
  17. 编程大佬行为准则:一杯茶一包烟,一行代码写一天
  18. 基于达索系统3DE平台实现企业数字化转型的场景应用
  19. html基础常用标签,HTML基础(三)常用标签-by Haley(示例代码)
  20. 如果你是12306网站架构师,你会如何设计网站的软件架构和硬件系统架构?

热门文章

  1. Systemd and sysemctl
  2. ENC28J60电路故障 网络灯不亮
  3. C语言兔子生兔子问题
  4. 数据驱动 - ddt
  5. ISM330DHCXTR IMU-惯性测量单元 工业物联网 运动传感器
  6. java 过期数据_TTL过期的数据包丢失
  7. telnet协议的Wireshark抓包分析
  8. Sentence-Transformer的使用及fine-tune教程
  9. 简单的网页登录注册页面
  10. 用HTML制作用户注册网页