重建二叉树

作者: 翻开日记 | 来源:发表于2018-07-30 13:53 被阅读0次

重建二叉树

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/7/29 19:39
# @File    : # 007.py
# @Software: PyCharm
# @Author  : wxw
# @Contact : weixianwei0129@163.com
# @Desc    : 重建二叉树

"""
preOrder{1,2,4,7,3,5,6,8}和midOrder{4,7,2,1,5,3,8,6}
"""

class TreeNode:
    def __init__(self, value, left=None, right=None):
        self.value = value
        self.left = left
        self.right = right

def Construct(pre, tin):
    if len(pre) == 0:
        return None
    if len(pre) == 1:
        return TreeNode(pre[0])
    root = TreeNode(pre[0])
    idx = tin.index(pre[0])
    root.left = Construct(pre[1:idx+1], tin[:idx])
    root.right = Construct(pre[idx+1:], tin[idx+1:])
    return root

先序遍历: 第一个节点为根节点;
中序遍历: 根节点在中间位置,两边分别为左子树和右子树.

相关文章

  • LeetCode 每日一题 [42] 重建二叉树

    LeetCode 重建二叉树 [中等] 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历...

  • Java后端开发算法基础面试题分享,你离大厂也许就差这份面试题!

    一、算法基础 1. 重建二叉树 题目: 输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树。 注意: 二叉树中...

  • 重建二叉树

    已知二叉树的前序和中序遍历序列,以此重建二叉树。 重建二叉树,必须知道前序和中序序列,其他组合都不行。 publi...

  • 剑指Offer(四)

    剑指Offer(四) 重建二叉树 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的...

  • Java日记2018-06-19

    重建二叉树 矩阵中的路径

  • 一题一算法2018-02-06(重建二叉树)

    题目:重建二叉树 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍...

  • 重建二叉树

    《剑指offer》面试题7:重建二叉树 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前...

  • 重建二叉树

    题目来源:牛客网--重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序...

  • java中如何实现重建二叉树

    java中如何实现重建二叉树 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和...

  • 07:重建二叉树

    题目07:重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果...

网友评论

    本文标题:重建二叉树

    本文链接:https://www.haomeiwen.com/subject/xshfvftx.html