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);
    }
}
posted @ 2020-09-23 22:33  童年の波鞋  阅读(145)  评论(0编辑  收藏  举报