1. 程式人生 > >leetcode 617:合併二叉樹

leetcode 617:合併二叉樹

直接遞迴即可

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;
}