/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */

/**
 * 
 * @param t1 TreeNode类 
 * @param t2 TreeNode类 
 * @return TreeNode类
 */
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2 ) {
    // write code here
    if (!t1 && !t2) return NULL;
    if (!t1 || !t2) return t1?t1:t2;//比较哪棵二叉树的子树不为空,如果有一棵树为空,则返回返回不为空的那棵树;
    //此时t1 t2均不为空;
    t1->val += t2->val;//存在的节点值相加;
    t1->left = mergeTrees(t1->left, t2->left);//合并左子树
    t1->right = mergeTrees(t1->right,t2->right);//合并右子树;

    return t1;
}