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

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回构造的TreeNode根节点
    def reConstructBinaryTree(self, pre, tin):
        # write code here
        if len(pre) == 0:
            return None
        if len(pre) == 1:
            return  TreeNode(pre[0])
        else:
            root_data = TreeNode(pre[0])
            root_index = tin.index(pre[0])

root_data.left = self.reConstructBinaryTree(pre[1:root_index+1], tin[:root_index])
            root_data.right = self.reConstructBinaryTree(pre[root_index+1:], tin[root_index+1:])
        return root_data

剑指offer_4 二叉树遍历相关推荐

  1. C#刷剑指Offer | 二叉树中和为某一值的路径

    [C#刷题]| 作者 / Edison Zhou 这是EdisonTalk的第292篇原创内容 我们来用之前学到的数据结构知识来刷<剑指Offer>的一些核心题目(精选了其中30+道题目) ...

  2. 剑指offer 二叉树的深度

    剑指offer 牛客网 二叉树的深度 # -*- coding: utf-8 -*- """ Created on Wed Apr 10 09:29:36 2019@au ...

  3. 求二叉树上结点的路径_剑指offer 二叉树

    二叉树的镜像(简单) 操作给定的二叉树,将其变换为源二叉树的镜像. 思路: 根节点左右节点调换位置 递归 注意判断空子树情况 二叉树的深度(简单) 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经 ...

  4. 剑指offer-JZ82 二叉树中和为某一值的路径(一)(附区分DFS和回溯)

    描述 给定一个二叉树root和一个值 sum ,判断是否有从根节点到叶子节点的节点值之和等于 sum 的路径. 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点 2.叶子节点是指没有子 ...

  5. 剑指offer-JZ27 二叉树的镜像(C++,附思路)

    描述 操作给定的二叉树,将其变换为源二叉树的镜像. 数据范围:二叉树的节点数[0,1000] , 二叉树每个节点的值 [0,1000] 要求: 空间复杂度 O(n).本题也有原地操作,即空间复杂度 O ...

  6. 剑指offer: 二叉树中和为某一值的路径

    题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 注意在深度遍历的时候要回退结点 import j ...

  7. [剑指Offer]-二叉树的深度

    题目描述(一) 输入一棵二叉树的根结点,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度.例如下图中的二叉树的深度为4,因为它从根结点到叶结点最长 ...

  8. 剑指offerQ24二叉树中和为某一值的路径

    题目描述 输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中,数组长度大 ...

  9. 剑指Offer——二叉树的镜像

    题目描述: 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义: 源二叉树 8/ \6 10/ \ / \5 7 9 11镜像二叉树8/ \10 6/ \ / \11 9 7 ...

最新文章

  1. struts入门day04
  2. 从平台到中台:Elaticsearch 在蚂蚁金服的实践经验
  3. Java计算时间差、日期差总结(亲测)
  4. Taro+react开发(88):taro条件渲染
  5. css ——行级元素与块级元素解析
  6. UVa-10820 Send a Table 欧拉函数
  7. 解决pom文件第一行报错(unknown)-亲测有效
  8. Javascript自定义类
  9. [转] 寻找第k大的数
  10. 《Java高级程序设计》第一周作业
  11. 写在2012的最后一天
  12. 全国计算机考试一级在线模拟考试系统,全国计算机等级考试模拟系统全国计算机等级考试一级模拟试题和答案.doc...
  13. OpenGL ES 2.0 系列一
  14. 前Sun高级经理蒋清野:从JavaEye社区被迫改名说起
  15. 金融壹账通拟7月4日香港上市:2年亏近30亿 市值蒸发超90%
  16. 多端开发之uniapp开发app
  17. Python+Vue计算机毕业设计网上美妆购物商城8k7w5(源码+程序+LW+部署)
  18. 美团点评智能支付核心交易系统的可用性实践
  19. 基于LAB颜色空间的彩色图像分割
  20. python学生信息管理系统项目总结_学生信息管理系统案例小结

热门文章

  1. [Ec Final 2018] Misunderstood … Missing
  2. FET细解:FET(IGFET、JFET、MESFET)、IGFET(MOSFET/MISFET、HFET)、HFET(MODFET、HIGFET)
  3. 线性代数-初等行变换与初等行矩阵
  4. JAVA —— 比较日期时间大小
  5. 刀片服务器在哪看cpu型号,了解认识刀片服务器
  6. 网络体系结构基本概念及OSI七层模型
  7. EasyExcel与EasyPoi性能对比
  8. 静态网页如何上传附件
  9. 如何搞好公司和员工的关系一:不要试图和下属做朋友
  10. 乔治亚州立大学如何利用算法来帮助学生通向大学之路?