思路:
深度优先遍历
分别遍历两个二叉树的左节点,右节点,分别相加
代码:
class Solution {
public TreeNode mergeTrees(TreeNode root1, TreeNode root2) {
if(root1==null){
return root2;
}
if(root2==null){
return root1;
}
TreeNode merge=new TreeNode(root1.val+root2.val);
merge.left=mergeTrees(root1.left,root2.left);
merge.right=mergeTrees(root1.right,root2.right);
return merge;
}
}
分解:
深度优先遍历
复杂度分析:
时间复杂度:O(min(M,N))M和N分别是tree1和tree2的节点数
空间复杂度:O(min(M,N))