算法题/重建二叉树
来源:互联网 发布:java读取word文件内容 编辑:程序博客网 时间:2024/06/01 22:45
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
#coding:utf-8class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def reConstructBinaryTree(self, pre, tin): # write code here if len(pre) == 0: return None elif len(pre) == 1: return TreeNode(pre[0]) else: ans = TreeNode(pre[0]) ans.left = self.reConstructBinaryTree(pre[1:tin.index(pre[0])+1], tin[:tin.index(pre[0])]) ans.right = self.reConstructBinaryTree(pre[tin.index(pre[0])+1:], tin[tin.index(pre[0])+1:]) return ansif __name__ == '__main__': s = Solution() #根节点 print(s.reConstructBinaryTree([1,2,4,7,3,5,6,8],[4,7,2,1,5,3,8,6]).left.val)
阅读全文
0 0
- 【算法题】重建二叉树
- 算法题/重建二叉树
- 算法-重建二叉树
- 算法-重建二叉树
- 算法题17 重建二叉树
- 算法题目---重建二叉树
- 算法:二叉树的重建
- 剑指offer-算法题练习:part4 重建二叉树
- 每天一道算法题——重建二叉树
- 面试算法(五)重建二叉树
- 面试算法—重建二叉树
- 【数据结构与算法】重建二叉树
- 算法练习四:重建二叉树
- [算法学习]输入遍历重建二叉树
- 算法题目-二叉树的重建
- 重建二叉树 -- 漫漫算法路 刷题篇
- [剑指offer]算法4 重建二叉树
- 剑指Offer算法题之已知两种遍历方式重建二叉树--面试题6:重建二叉树
- 入门赛11
- 苹果开发者账号申请之邓白氏编码2017最新版
- C++之构造函数和析构函数的调用顺序
- AVFormatContext中的三个AVPacketList类型的缓冲的浅显分析
- 快速排序
- 算法题/重建二叉树
- Spring入门笔记(二) Bean的生命周期
- 青岛网络赛补题...
- MySQL中的alter table命令的基本使用方法及提速优化
- Android异常情况下的生命周期分析
- 花屏黑屏log机制
- selenium常见错误
- LeetCode-64-Minimum Path Sum DP水题
- HorizontalScrollView