LeetCode Construct Binary Tree from Inorder and Postorder Traversal
来源:互联网 发布:大连保险网络大学 编辑:程序博客网 时间:2024/05/16 06:01
LeetCode解题之Construct Binary Tree from Inorder and Postorder Traversal
原题
通过一棵二叉树的中序和后序排列来得出它的树形结构。
注意点:
- 无
例子:
输入: inorder = [9,3,14,15,20,7], postorder = [9,14,15,7,20,3]
输出:
3 / \ 9 20 / \ 15 7 / 14
解题思路
- 因为后序中的节点为根节点,所以取出后序的最后一个节点
- 用后序的最后一个节点可以将中序分成左右子树,然后取出后序的倒数第二个节点将左右子树再次划分
- 当将中序全部划分为单个点时就结束
AC源码
# Definition for a binary tree node.class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution(object): def buildTree(self, inorder, postorder): """ :type inorder: List[int] :type postorder: List[int] :rtype: TreeNode """ self.postorder = postorder self.inorder = inorder return self._buildTree(0, len(inorder)) def _buildTree(self, start, end): if start < end: root = TreeNode(self.postorder.pop()) index = self.inorder.index(root.val) root.right = self._buildTree(index + 1, end) root.left = self._buildTree(start, index) return rootif __name__ == "__main__": None
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
1 0
- *(leetcode) Construct Binary Tree from Inorder and Postorder Traversal (tree)
- LeetCode[Tree]: Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- [Leetcode] Construct Binary Tree from Inorder and Postorder Traversal
- leetcode 110: Construct Binary Tree from Inorder and Postorder Traversal
- 【leetcode】Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode-Construct Binary Tree from Inorder and Postorder Traversal
- [leetcode] Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode - Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- python中Matplotlib的坐标轴的坐标区间的设定
- 单例的两种实现方式
- Learn Unity - Scripts(新手教程)
- 第十二章编程练习(3)
- 和为S的连续正数序列
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- 安卓作业--第三篇
- U-Boot中改用DM8168的网口1
- latex学习笔记1 latex中文、英文、数学字体设置
- 04环信聊天界面 - 发送语音
- Android中的清除数据与清除缓存有什么区别?(菜鸟基础解答版)
- TCP-IP协议详解学习笔记-- IP
- Android特效专辑(十一)——仿水波纹流量球进度条控制器,实现高端大气的主流特效
- eclipse 相关