import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* public TreeNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param t1 TreeNode类
* @param t2 TreeNode类
* @return TreeNode类
*/
public TreeNode mergeTrees (TreeNode t1, TreeNode t2) {
// 如果两个节点都为空则返回null
if(t1==null&&t2==null){
return null;
}else{
//创建新节点
TreeNode res=null;
//左子树为空,新节点复制右子树
if(t1==null){
res=new TreeNode(t2.val);
res.left=mergeTrees(null,t2.left);
res.right=mergeTrees(null,t2.right);
}else if(t2==null){
//右子树为空,新节点复制左子树
res=new TreeNode(t1.val);
res.left=mergeTrees(t1.left,null);
res.right=mergeTrees(t1.right,null);
}else{
//都不为空,根节点相加,左右节点便利
res=new TreeNode(t1.val+t2.val);
res.left=mergeTrees(t1.left,t2.left);
res.right=mergeTrees(t1.right,t2.right);
}
return res;
}
}
}