leetcode 617:合併二叉樹
阿新 • • 發佈:2018-12-14
直接遞迴即可
TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { TreeNode *t3; TreeNode *l1,*r1; TreeNode *l2,*r2; if(t1!=NULL&&t2!=NULL){ t3=new TreeNode(t1->val+t2->val); l1=t1->left; l2=t2->left; r1=t1->right; r2=t2->right; } if(t1==NULL&&t2==NULL) return NULL; if(t1==NULL&&t2!=NULL){ t3=new TreeNode(t2->val); l1=NULL; l2=t2->left; r1=NULL; r2=t2->right; } if(t1!=NULL&&t2==NULL){ t3=new TreeNode(t1->val); l1=t1->left; l2=NULL; r1=t1->right; r2=NULL; } t3->left=mergeTrees(l1,l2); t3->right=mergeTrees(r1,r2); return t3; }