leetcode系列-106. 从中序与后序遍历序列构造二叉树
题目描述:给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。
示例 1:
输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]
输出:[3,9,20,null,null,15,7]示例 2:
输入:inorder = [-1], postorder = [-1]
输出:[-1]
/*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val = (val===undefined ? 0 : val)* this.left = (left===undefined ? null : left)* this.right = (right===undefined ? null : right)* }*/
/*** @param {number[]} inorder* @param {number[]} postorder* @return {TreeNode}*/
var buildTree = function (inorder, postorder) {let postIndex = postorder.length - 1;let map = new Map()inorder.forEach((item, idx) => {map.set(item, idx)})const help = function (start, end) {if (start > end) {return null}let root_val = postorder[postIndex];let root = new TreeNode(root_val)let index = map.get(root_val)postIndex -- ;root.right = help(index + 1, end)root.left = help(start, index - 1)return root}return help(0, postorder.length - 1)
};
leetcode系列-106. 从中序与后序遍历序列构造二叉树相关推荐
- [Leetcode][第106题][JAVA][ 从中序与后序遍历序列构造二叉树][分治][递归]
[问题描述][中等] [解答思路] public class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) { ...
- 【LeetCode系列】从中序与后序遍历序列构造二叉树 从前序与中序遍历序列构造二叉树...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 105. 从前序与中序遍历序列构造二叉树 根据一棵树的前序遍历与中序遍历构造二叉树 ...
- leetcode 106. 从中序与后序遍历序列构造二叉树 c语言递归解法
如题: 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素.例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9, ...
- 【必拿下系列】106. 从中序与后序遍历序列构造二叉树105从前序与中序遍历序列构造二叉树
两题各自的链接放这里了: 链接: 106 链接: 105 106.从中序与后序遍历序列构造二叉树 如果你是不知道理论的,那就得仔细分析了, 举个例子: 输入:inorder = [9,3,15,20, ...
- Suzy找到实习了吗Day 18 | 二叉树进行中:513 找树左下角的值,112 路径总和 ,106.从中序与后序遍历序列构造二叉树
513 找树左下角的值 solution # Definition for a binary tree node. # class TreeNode: # def __init__(self, val ...
- 105从前序与中序遍历序列构造二叉树 106 从中序与后序遍历序列构造二叉树 (递归 + 哈希)
引言 这两道题主要是考察二叉树遍历的掌握,即由前序和中序推出原二叉树,由后序和中序推出原二叉树,这里先来说一下推导过程: 前序和中序 知道前序遍历和中序遍历,如何推原二叉树?(直接是结论,可以自行推导 ...
- [leetcode]从中序与后序/前序遍历序列构造二叉树
从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 po ...
- java用中根后根序列构造二叉树,106. 从中序与后序遍历序列构造二叉树
题目描述 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 示例: 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder ...
- 数组反向遍历ios_LeetCode106.从中序与后序遍历序列构造二叉树(Construct Binary Tree from Inor...)...
106. 从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7]后序遍 ...
- 代码随想录第18天|找树左下角的值,路径总和,从中序和后序遍历序列构造二叉树
LeetCode513.找树左下角的值 题目链接:513. 找树左下角的值 - 力扣(LeetCode) 思路: 迭代法(只需要记录最后一行第一个节点的数值就可以了.): /*** Definitio ...
最新文章
- This和Super关键字的对比
- 解决Android 7.0 App内切换语言不生效的问题
- 计算机考试一年有肌肉,阅卷老师最想看到什么样的字体?电脑阅卷时代,这种字体很吃香...
- HDU2016数据交换
- windows执行python文件提示SyntaxError: Non-ASCII character ‘\xe9‘ in file 1.py on line 7, but no encoding d
- C++小项目-吃豆子游戏
- 第一章:Python的基本数据类型-第三节:Python中表示“无序”的数据类型
- 表关联使用INNER JOIN实现更新功能
- JavaScript笔记整理
- 最小生成树:Kruskal算法 和 Prim算法(第23章)
- 使软件可二次开发_九思软件:平台型OA系统为何要好于项目型OA系统?
- 班尼路信息化系统基础选型的简单分析
- 优先级反转之futex(一)
- 会计计算机学什么软件有哪些,会计一般要学什么软件
- 海康威视摄像机SDK二次开发-JavaDemo环境搭建详解
- 超微服务器查型号,超微 云服务器
- Qt学习总结之QTableWidget表格填充
- 开始topcoder
- python中dice常见问题_【Pytorch】 Dice系数与Dice Loss损失函数实现
- 涂鸦智能赴美上市:2年亏损1.4亿美元,腾讯、高瓴等参与认购
热门文章
- make makefile cmake qmake都是什么,有什么区别?
- c++11的函数返回值要不要std::move()
- IP地址【IP地址精品博文】
- 关于【batch】的一些问题
- ispring sdk 9.7转换文档,ispring sdk 9.7 Carck
- Docker 开启 buildx 多CPU架构镜像制作
- 自由开发者的收入来源(程序员)
- 51单片机K型热电偶温度采集及控制温控模块MAX6675热电偶LCD1602
- OCR快速入门(二)| Python版
- 黑马程序员C++ 案例四 机房预约系统