[106].从中序与后序遍历序列构造二叉树
根据一棵树的中序遍历与后序遍历构造二叉树。
注意:
你可以假设树中没有重复的元素。
例如,给出
中序遍历 inorder = [9,3,15,20,7]
后序遍历 postorder = [9,15,7,20,3]
返回如下的二叉树:
3
/ \
9 20
/ \
15 7
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def buildTree(self, inorder: List[int], postorder: List[int]) -> TreeNode:n = len(inorder)m = len(postorder)if m != n:return Nonemapper = {}for index,num in enumerate(inorder):mapper[num] = indexreturn self.build(postorder,0,n-1,mapper,0,m-1)def build(self,postorder,postLeft,postRight,mapper,inLeft,inRight):if postLeft>postRight or inLeft>inRight:return Noneroot_val = postorder[postRight]root = TreeNode(root_val,None,None)index = mapper.get(root_val)root.left = self.build(postorder,postLeft,postRight-inRight+index-1,mapper,inLeft,index-1)root.right = self.build(postorder,postRight-inRight+index,postRight-1,mapper,index+1,inRight)return root
[106].从中序与后序遍历序列构造二叉树相关推荐
- leetcode 106. 从中序与后序遍历序列构造二叉树 c语言递归解法
如题: 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素.例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9, ...
- [Leetcode][第106题][JAVA][ 从中序与后序遍历序列构造二叉树][分治][递归]
[问题描述][中等] [解答思路] public class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) { ...
- Suzy找到实习了吗Day 18 | 二叉树进行中:513 找树左下角的值,112 路径总和 ,106.从中序与后序遍历序列构造二叉树
513 找树左下角的值 solution # Definition for a binary tree node. # class TreeNode: # def __init__(self, val ...
- 【必拿下系列】106. 从中序与后序遍历序列构造二叉树105从前序与中序遍历序列构造二叉树
两题各自的链接放这里了: 链接: 106 链接: 105 106.从中序与后序遍历序列构造二叉树 如果你是不知道理论的,那就得仔细分析了, 举个例子: 输入:inorder = [9,3,15,20, ...
- 105从前序与中序遍历序列构造二叉树 106 从中序与后序遍历序列构造二叉树 (递归 + 哈希)
引言 这两道题主要是考察二叉树遍历的掌握,即由前序和中序推出原二叉树,由后序和中序推出原二叉树,这里先来说一下推导过程: 前序和中序 知道前序遍历和中序遍历,如何推原二叉树?(直接是结论,可以自行推导 ...
- java用中根后根序列构造二叉树,106. 从中序与后序遍历序列构造二叉树
题目描述 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 示例: 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder ...
- 【LeetCode系列】从中序与后序遍历序列构造二叉树 从前序与中序遍历序列构造二叉树...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 105. 从前序与中序遍历序列构造二叉树 根据一棵树的前序遍历与中序遍历构造二叉树 ...
- 数组反向遍历ios_LeetCode106.从中序与后序遍历序列构造二叉树(Construct Binary Tree from Inor...)...
106. 从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7]后序遍 ...
- 016.从中序与后序遍历序列构造二叉树
题目链接: 106. 从中序与后序遍历序列构造二叉树 大概思路: 题目要求: 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder ...
- 代码随想录第18天|找树左下角的值,路径总和,从中序和后序遍历序列构造二叉树
LeetCode513.找树左下角的值 题目链接:513. 找树左下角的值 - 力扣(LeetCode) 思路: 迭代法(只需要记录最后一行第一个节点的数值就可以了.): /*** Definitio ...
最新文章
- android命令行工具 混淆,Android 混淆代码学习以及Android加密工具--APKProtect的使用ZZ...
- 今天我的Windows Phone 7 HTC HD7 手机 升级 NoDo 了 分享一下经验
- NeurIPS 2020 大变动,领域主席可拒稿20%,作者即评审,布局远程会议!
- ubuntu 16.4 安装postgreSQL,使C++链接到数据库
- springboot 物联网_Confluent Kafka,KSQL,Spring Boot和分布式SQL开发物联网实战
- Ofbiz架构讲解与讨论(crud)
- SQL Server where和having区别
- python 极速后台开发框架_基于FastAdmin快速搭建后台管理系统
- linux命令获取显示器信息,如何确定液晶显示器是否从Linux命令行打开
- VirtualBox使用教程
- Android应用优化之冷启动优化
- Android Backup功能之全面实战
- Hulu斩获两枚艾美奖提名!(附第68届艾美奖重要奖项提名名单)
- php phalcon 安装,安装phalcon 开发工具
- 微服务中的服务发现是什么?
- english book1 unit8
- 自动复制吱口令html,【月入六万】吱口令,网页自动复制,进支付宝提示领红包源码...
- H3C交换机查询光功率
- arachni_web显示500,We‘re sorry, but something went wrong.
- FPGA学习经验(BBS论坛)