Description:
题目大意:合并两棵二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。
解题思路:
算法标签:递归
代码:
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
class Solution {
public:
TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {
if(t1 == NULL)
return t2;
if(t2 == NULL)
return t1;
t1 -> val += t2 -> val;
t1 -> left = mergeTrees(t1 -> left, t2 -> left);
t1 -> right = mergeTrees(t1 -> right, t2 -> right);
return t1;
}
};