二叉树计算【华为OD机试JAVA&Python&C++&JS题解】

本文介绍了如何解决华为在线测评(OD)中关于二叉树计算的问题,提供了Python、Java、C/C++及JavaScript的解题思路和代码实现。通过中序遍历和前序遍历数据,构建原始二叉树,再递归计算新二叉树节点的值,最后输出求和树的中序遍历结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 题目-二叉树计算

给出一个二叉树如下图所示:
6
/
7 9
\ /
-2 6

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

            20(7-2+9+6)
            /      \
           -2       6
            \      /   

             0    0 

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

输入描述:

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

例如:

7 -2 6 6 9
6 7 -2 9 6

输出描述:

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

例如:

输出1
-2 0 20 0 6

补充说明:

示例1

输入:

-3 12 6 8 9 -10 -7
8 12 -3 6 -10 9 -7
输出:

0 3 0 7 0 2 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Gloria

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值