题解 | #合并二叉树#

合并二叉树

https://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759

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

全部评论

相关推荐

喜欢飞来飞去的雪碧在刷代码:可以试一试字节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务