// 同时遍历两棵树即可
    // 递归返回值和参数:返回值就是TreeNode,参数是t1和t2
    // 递归终结:如果都为null,返回null;一方为null,返回另一方
    // 单层逻辑:合并结果,左侧为左子树合并结果,右侧为右子树合并结果
import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param t1 TreeNode类 
     * @param t2 TreeNode类 
     * @return TreeNode类
     */
    public TreeNode mergeTrees (TreeNode t1, TreeNode t2) {
        // 如果t1为空,合并之后就应该是t2
        if (t1 == null) {
            return t2;
        }
        // 如果t2为空,合并之后为t1
        if (t2 == null) {
            return t1;
        }
        // 修改t1的数值和结构
        t1.val = t1.val + t2.val;

        t1.left = mergeTrees(t1.left, t2.left);
        t1.right = mergeTrees(t1.right, t2.right);

        return t1;

    }
}