重建二叉树(JS实现) 绝地灬酷狼 2022-05-15 05:34 118阅读 0赞 ## 题目 ## 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列\{1,2,4,7,3,5,6,8\}和中序遍历序列\{4,7,2,1,5,3,8,6\},则重建二叉树并返回。 /* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ function reConstructBinaryTree(pre, vin) { //在此作答 } ## 思路 ## 二叉树的前序遍历第一个节点,即为根节点。找到中序遍历中根节点的位置,其左边的序列即为其左子树,右边的序列即为右子树,这样就把原序列划分为两个子序列,分别对两个子序列进行递归操作,就成功地构造了二叉树 ## 代码 ## function reConstructBinaryTree(pre, vin) { if (pre.length === 0) return; //如果前序遍历为空,说明已经没有节点了 var root = new TreeNode(pre[0]); //生成根节点 var root_index = vin.indexOf(root.val); //找到根节点在中序遍历中的位置 root.left = reConstructBinaryTree(pre.slice(1,root_index+1), vin.slice(0,root_index)); //递归生成左子树 root.right = reConstructBinaryTree(pre.slice(root_index+1), vin.slice(root_index+1)); //递归生成右子树 return root; }
相关 JS实现二叉树的重建 文章目录 1.根据前序+中序 2.根据后序+中序 function TreeNode(x) { this.val = x; 深碍√TFBOYSˉ_/ 2023年01月14日 01:36/ 0 赞/ 63 阅读
相关 重建二叉树(JS实现) 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列\{1,2,4,7,3,5,6, 绝地灬酷狼/ 2022年05月15日 05:34/ 0 赞/ 119 阅读
相关 重建二叉树 二叉树重建 根据二叉树的前序遍历和中序遍历,重建二叉树。综合利用前序遍历和中序遍历的特点。 / 题目描述 输入某二叉树的前序遍历和中序遍历的 Love The Way You Lie/ 2022年05月14日 15:48/ 0 赞/ 209 阅读
相关 重建二叉树 重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。如前序\{1,2,4,7,3,5,6,8 亦凉/ 2022年04月24日 13:54/ 0 赞/ 187 阅读
相关 重建二叉树 何海涛:《剑指Offer:名企面试官精讲典型编程题》:九度OJ 题目描述:[http://ac.jobdu.com/problem.php?cid=1039&pid=1][h 曾经终败给现在/ 2022年03月20日 02:46/ 0 赞/ 180 阅读
相关 重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列\{1,2,4,7,3,5,6 古城微笑少年丶/ 2022年03月06日 12:26/ 0 赞/ 227 阅读
相关 重建二叉树 直接上代码了 struct BTNode { int val; BTNode lchild; BTNode rch 逃离我推掉我的手/ 2022年01月05日 10:39/ 0 赞/ 255 阅读
相关 二叉树重建 给定二叉树的先序遍历序列和中序遍历序列,进行二叉树的重建以及后序遍历队列。 突然看到这个问题。。发现之前的想法都忘记了=\_=||,果然算法题一日不写手生啊,还是得好好坚持 淡淡的烟草味﹌/ 2021年12月14日 04:15/ 0 赞/ 278 阅读
相关 重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列\{1,2,4,7,3,5,6,8\}和中序 妖狐艹你老母/ 2021年09月23日 09:20/ 0 赞/ 361 阅读
还没有评论,来说两句吧...