我的shit代码(留着自己看):
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2)
{
struct TreeNode* t3;
if(t1==NULL&&t2==NULL)
{
t3=NULL;
return t3;
}
else if(t1!=NULL&&t2!=NULL)
{
t3=(struct TreeNode*)malloc(sizeof(struct TreeNode*));
t3->val=t1->val+t2->val;
mergeTrees(t1->left,t2->left);
mergeTrees(t1->right,t2->right);
return t3;
}
else if(t1!=NULL&&t2==NULL)
{
t3=(struct TreeNode*)malloc(sizeof(struct TreeNode*));
t3->val=t1->val;
mergeTrees(t1->left,t2->left);
mergeTrees(t1->right,t2->right);
return t3;
}
else if(t1==NULL&&t2!=NULL)
{
t3=(struct TreeNode*)malloc(sizeof(struct TreeNode*));
t3->val=t1->val;
mergeTrees(t1->left,t2->left);
mergeTrees(t1->right,t2->right);
return t3;
}
return t3;
}
shit代码2:
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2)
{
if(t1==NULL)
return t2;
if(t2==NULL)
return t1;
t1->val=t1->val+t2->val;
mergeTrees(t1->left,t2->left);
mergeTrees(t1->right,t2->right);
return t1;
}
通过代码:
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2)
{
if(t1==NULL)
return t2;
if(t2==NULL)
return t1;
t1->val=t1->val+t2->val;
t1->left=mergeTrees(t1->left,t2->left);
t1->right=mergeTrees(t1->right,t2->right);
return t1;
}