BT5 合并二叉树
约 241 字小于 1 分钟
2025-04-18
描述
已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。例如:
两颗二叉树是:
链接
示例
{1,3,2,5},{2,1,3,#,4,#,7} => {3,4,5,5,4,#,7}
{1},{} => {1}题解
/*
* function TreeNode(x) {
* this.val = x;
* this.left = null;
* this.right = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param t1 TreeNode类
* @param t2 TreeNode类
* @return TreeNode类
*/
function mergeTrees(t1, t2) {
// write code here
function go(_t1, _t2, _nt) {
_nt.val = (_t1?.val || 0) + (_t2?.val || 0);
if (_t1?.left || _t2?.left) {
_nt.left = new TreeNode();
go(_t1?.left, _t2?.left, _nt.left);
}
if (_t1?.right || _t2?.right) {
_nt.right = new TreeNode();
go(_t1?.right, _t2?.right, _nt.right);
}
}
let nt = new TreeNode();
let root = nt;
go(t1, t2, nt);
return root;
}
module.exports = {
mergeTrees: mergeTrees,
};