Leetcode--671. 合并二叉树
发布日期:2021-04-30 21:02:46 浏览次数:87 分类:精选文章

本文共 713 字,大约阅读时间需要 2 分钟。

为了将两个二叉树合并成一个新的二叉树,我们可以使用递归的方法,从根节点开始处理。合并的规则是,如果两个节点重叠,则将它们的值相加;否则,将不为null的节点直接作为新树的节点。

方法思路

  • 递归处理根节点:从两个树的根节点开始,判断是否存在重叠。如果有,则将它们的值相加,否则将null返回。
  • 递归处理左子树和右子树:分别递归处理左边和右边的子树,同样应用合并规则。
  • 返回结果:合并完成后,返回合并后的根节点。
  • 解决代码

    public class Solution {    public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {        if (t1 == null) {            return t2;        }        if (t2 == null) {            return t1;        }        t1.val += t2.val;        t1.left = mergeTrees(t1.left, t2.left);        t1.right = mergeTrees(t1.right, t2.right);        return t1;    }}

    代码解释

    • 递归终止条件:如果其中一个树是null,返回另一个树。
    • 合并当前节点值:将两个树当前节点的值相加,更新为新的值。
    • 递归处理子树:分别递归处理左边和右边的子树,合并后更新当前节点的左、右指针。
    • 返回结果:合并完成后,返回合并后的根节点。

    这种方法确保了从根节点开始,逐层处理每个节点,正确合并两个二叉树,满足题目要求。

    上一篇:网页设计经验分享
    下一篇:价值2000元的学习资源泄露,详细的Android学习指南

    发表评论

    最新留言

    路过,博主的博客真漂亮。。
    [***.116.15.85]2026年06月05日 23时15分38秒