首页 > 其他分享 >重建二叉树

重建二叉树

时间:2023-01-10 22:34:45浏览次数:59  
标签:pre 遍历 中序 vin 二叉树 先序 root 重建

题目描述

image

思路分析

在中序遍历列表中找到先序遍历列表中第一个节点,以此为界限可以将二叉树分为左右子树,可以得知左子树和右子树的长度,在先序遍历列表中划分出来。再依次拿出先序遍历列表中的第一个节点构成左/右子树的根节点,直到传入的先序序列或中序序列为空结束遍历,返回根节点。

代码参考

/*
  前序遍历{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6}
*/

const reConstructBinaryTree = function (pre, vin) {
  // 如果为空树则直接返回
  if (!pre.length || !vin.length) return null
  // 前序遍历的第一个元素为根节点
  const root = new TreeNode(pre.shift())
  // 找到root.val在中序遍历中的索引,则数组被分为两部分,左侧为左子树,右侧为右子树
  const index = vin.indexOf(root.val)
  root.left = reConstructBinaryTree(pre, vin.slice(0, index))
  root.right = reConstructBinaryTree(pre.vin.slice(index + 1))
  return root
}

标签:pre,遍历,中序,vin,二叉树,先序,root,重建
From: https://www.cnblogs.com/zx529/p/17041554.html

相关文章

  • 二叉树
    1.二叉树的概念二叉树是n个有限元素的集合,该集合或为空、或由一个根节点及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为......
  • 代码随想录day14 LeetCode 144.二叉树的前序遍历 145.二叉树的后序遍历 94.二叉树的中
    144.二叉树的前序遍历classSolution{public:vector<int>v;vector<int>preorderTraversal(TreeNode*root){if(root==NULL)returnv;......
  • 稠密单目SLAM,实时、稠密地重建三维场景
    以下内容来自从零开始机器人SLAM知识星球每日更新内容点击领取学习资料→机器人SLAM学习资料大礼包论文#ProbabilisticVolumetricFusionforDenseMonocularSLAM......
  • 力扣102 二叉树的层序遍历(广度优先搜索)
    题目:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]思......
  • 力扣226 翻转二叉树
    题目:给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。示例:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1] ......
  • 判断是不是平衡二叉树
    题目描述输入一棵节点数为n二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树平衡二叉树(BalancedBinaryTree),具有以......
  • 判断是不是完全二叉树
    题目要求给定一个二叉树,确定他是否是一个完全二叉树。完全二叉树的定义:若二叉树的深度为h,除第h层外,其它各层的结点数都达到最大个数,第h层所有的叶子结点都连续集中......
  • 二叉树由前序遍历和中序遍历求后序遍历
    题目:二叉树遍历问题描述给定一棵二叉树的先序遍历和中序遍历序列,求其后序遍历序列。输入格式输入数据有两行,为两个字符串,其长度n均小于等于26。第一行为先序遍历序......
  • 二叉树递归模板总结
    101.对称二叉树boolisQ(TreeNode*root1,TreeNode*root2){if(root1==nullptr&&root2==nullptr){returntrue;}elseif(roo......
  • 对滤波反投影重建算法的研究以phantom图进行matlab仿真,构建滤波器,重建图像
    1.算法描述       CT重建算法大致分为解析重建算法和迭代重建算法,随着CT技术的发展,重建算法也变得多种多样,各有各的有特点。本文使用目前应用最广泛的重建算法——......