#-*- coding:utf-8 -*-
class TreeNode:def __init__(self, x):self.val = xself.left = Noneself.right = None
class Solution:# 返回构造的TreeNode根节点def reConstructBinaryTree(self, pre, tin):# write code hereif len(pre)==0:return None# 前序遍历的第一个结点一定是根结点root_data = pre[0]#寻找位置将左右子树分开for i in range(0, len(tin)):if tin[i] == root_data:break# 递归构造左子树和右子树treeNode = TreeNode(root_data)treeNode.left = self.reConstructBinaryTree(pre[1:1+i],tin[:i])treeNode.right = self.reConstructBinaryTree(pre[1+i:],tin[i+1:])return treeNode
if __name__ == '__main__':pre = [1, 2, 4, 7, 3, 5, 6, 8]tin = [4, 7, 2, 1, 5, 3, 8, 6]s = Solution()root_data = s.reConstructBinaryTree(pre, tin)print(root_data.left.val)

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。相关推荐

  1. 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。

    输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树. 假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如输入前序遍历序列{1, 2, 4, 7, 3, 5, 6, 8}和中序遍历序{ ...

  2. 根据二叉树的前序遍历和中序遍历重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  3. 根据二叉树前序遍历和中序遍历重建二叉树

    剑指 Offer 07. 重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如,给出 前序遍历 preorder = [3, ...

  4. pat根据中序遍历和先序遍历_[leetcode/lintcode 题解] 前序遍历和中序遍历树构造二叉树...

    [题目描述] 根据前序遍历和中序遍历树构造二叉树. 在线评测地址: 九章算法 - 帮助更多中国人找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧​www.jiuzhang.com [样例 ...

  5. c++ 删除二叉树的子树_数据结构—树|二叉树|前序遍历、中序遍历、后序遍历【图解实现】...

    点击蓝字关注我们 AI研习图书馆,发现不一样的精彩世界 数据 结构 二叉树的遍历 一.树 在谈二叉树的知识点之前,我们首先来看一下树和图的基本概念.树:不包含回路的连通无向图,树是一种简单的非线性结构 ...

  6. 二叉树:通过前序遍历与中序遍历序列输出二叉树的后序遍历序列

    题目描述: 二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树: 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树: 后序遍历: ...

  7. 【二叉树】根据后续和中序遍历输出前序遍历 [建树+非建树做法]

    F . 案例 4-1.1:根据后续和中序遍历输出前序遍历 Description 本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果. Input 第一行给出正整数N (≤3 ...

  8. 二叉树的前序遍历,中序遍历,后序遍历-详解-配套例题

    二叉树作为数据结构中一种简单而且重要的数据结构,他的存储结构和算法都相对比较简单,因此他也显得特别重要,因为很多问题都可以抽象为二叉树的问题. 在这里我们对于二叉树的基本概念不做详细介绍,我们这里主要 ...

  9. 【二叉树】由后序遍历和中序遍历推出前序遍历

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

  10. 二叉树、前序遍历、中序遍历、后序遍历

    一.树 在谈二叉树前先谈下树和图的概念 树:不包含回路的连通无向图(树是一种简单的非线性结构) 树有着不包含回路这个特点,所以树就被赋予了很多特性 1.一棵树中任意两个结点有且仅有唯一的一条路径连通 ...

最新文章

  1. Javascript函数的简单学习
  2. cmd文件打开闪退_批处理闪退、运行中断等问题的处理
  3. hackerrank杂记
  4. 可视化卷及神经网络热力图
  5. ActiveMQ 事务消息 手工签收
  6. 理解Go语言中的方法和接收者
  7. eclipse build workspace太慢或者 js出错问题解决
  8. 函数调用 压栈的工作原理
  9. 如何更快获取想要的设计资源?
  10. python 读取命令行输入_python读取命令行参数的方法
  11. 又是骗补贴的?清华虚拟学生华智冰翻车:AI换脸铸就人工智能
  12. python perl 日本的应用_将Python,Perl,Ruby或Shell脚本转换为适用于Mac OS X的自包含应用程序 | MOS86...
  13. xilinx sdk在Debug模式下根据地址在内存里观察值
  14. php+memcached缓存技术实例
  15. Java开发 | 数据结构和算法之——递归算法
  16. kettle 通过java实现正态分布密度函数调用
  17. IDEA的TODO的使用
  18. 【IT运维】国内优秀的IT运维企业有哪些?
  19. 万字长文:功能安全量产落地的三座大山
  20. unity package manager ui 报错An ite m with the same key has alrea d ybeen added.Key

热门文章

  1. hive启动debug问题
  2. NetTiers学习笔记12---deepload的递归
  3. 01_项目需求与实体分析(servlet+java bean+jsp的商城教程)
  4. 二分查找算法-java
  5. 进入传奇荣耀显示服务器不存在,传奇荣耀————【合区】5月10日合区公告
  6. mysql安装配置jdbc_JDBC环境配置
  7. Oracle的expdp导出、impdp导出命令
  8. c语言json配置文件linux,Linux C 编程——使用json-c库读取json格式的配置文件
  9. sql 语句 查询结果赋值变量_RationalDMIS 7.1 变量赋值 ASSIGN语句
  10. 自动基线校正 python_红外光谱的