算法之路-合并二叉树

149 阅读1分钟

题目

合并二叉树

2.png

思路

相同位置的节点相加,合并成新的二叉树,可以采用深度优先搜索(DFS)。

对该节点进行合并后,还要合并左右子节点,是一个递归的过程。

代码

private static TreeNode mergeTree(TreeNode r1, TreeNode r2) {
    if (r1 == null) {
        return r2;
    }
    if (r2 == null) {
        return r1;
    }
    TreeNode t = new TreeNode(r1.val + r2.val);
    t.left = mergeTree(r1.left, r2.left);
    t.right = mergeTree(r1.right, r2.right);
    return t;
}