思路:根据两棵树同一位置的节点进行判断,设两棵树对应的节点为A节点和B节点,分以下三种情况:
1、A 为空,则返回B;
2、B 为空,则返回A;
3、都不为空,则返回两者之和(加到A节点或者B节点都可以,返回加和的节点即可);
代码:
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2){
if(t2 == NULL){
return t1;
}
else if(t1 == NULL){
return t2;
}
else{
t1->left = mergeTrees(t1->left,t2->left);
t1->right = mergeTrees(t1->right,t2->right);
t1->val += t2->val;
return t1;
}
}
原文:https://www.cnblogs.com/luguoqingting/p/14589564.html