/** * 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; }