您的位置:首页 > 编程语言 > C语言/C++

leetcode 617. Merge Two Binary Trees(C语言,二叉树求和,递归)53

2017-11-03 19:32 656 查看
贴原题:



解析:

  本题是给出两个二叉树,让合并成一个二叉树。

  那么直接调用递归就可以实现。

  

贴代码:

/**
* Definition for a binary tree node.
* struct TreeNode {
*     int val;
*     struct TreeNode *left;
*     struct TreeNode *right;
* };
*/
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2) {
if(!t1)//t1节点为空则返回t2
{
return t2;
}
if(!t2)//t2节点为空则返回t1
{
return t1;
}
if(t1 && t2)//两者都非空则返回则把两者值相加,并递归其左右叶子节点
{
t1->val += t2->val;
t1->left = mergeTrees(t1->left, t2->left);
t1->right = mergeTrees(t1->right, t2->right);
}
return t1;//两者都空情况;返回t1头结点
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息