华为OD机试C卷-- 二叉树计算(Java & JS & Python & C)

飞码创造者 2024-07-30 10:05:03 阅读 96

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。

题目描述

给出一个二叉树如下图所示:

在这里插入图片描述

请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。

在这里插入图片描述

左子树表示节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。

输入描述

2行整数,第1行表示二叉树的中序遍历,第2行表示二叉树的前序遍历,以空格分割

例如:

7 -2 6 6 9

6 7 -2 9 6

输出描述

1行整数,表示求和树的中序遍历,以空格分割

例如:

-2 0 20 0 6

题目解析

1.重建二叉树: 前序遍历序列的第一个元素是根节点,中序遍历中根节点将序列分为左子树和右子树的中序遍历序列。递归这一过程可以重建原二叉树。

2.计算新节点值



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。