c_lc_合并二叉树(前序遍历+谁不空谁返回)
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。
输入:
Tree 1 Tree 2
1 2
/ \ / \
3 2 1 3
/ \ \
5 4 7
输出:
合并后的树:
3
/ \
4 5
/ \ \
5 4 7
class Solution {
TreeNode dfs(TreeNode r1, TreeNode r2) {
if (r2==null) return r1;
if (r1==null) return r2;
r1.val+=r2.val;
r1.left=dfs(r1.left, r2.left);
r1.right=dfs(r1.right, r2.right);
return r1;
}
public TreeNode mergeTrees(TreeNode r1, TreeNode r2) {
return dfs(r1, r2);
}
}