Add to List 617. Merge Two Binary Trees

来源:互联网 发布:饶毅毕业致辞知乎 编辑:程序博客网 时间:2024/06/06 04:49

简单题,主要是太久没刷题目了,忘了数的指针类型的构造方式

TreeNode* root = new TreeNode(0);
/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {        if(t1==NULL&&t2==NULL)            return NULL;        else{            TreeNode* root = new TreeNode(0);            if(t1!=NULL&&t2==NULL){                root->val = t1->val;                root->left = mergeTrees(t1->left, NULL);                root->right = mergeTrees(t1->right, NULL);            }            else if(t1==NULL&&t2!=NULL){                root->val = t2->val;                root->left = mergeTrees(NULL, t2->left);                root->right = mergeTrees(NULL, t2->right);            }            else{                root->val = t1->val+t2->val;                root->left = mergeTrees(t1->left, t2->left);                root->right = mergeTrees(t1->right, t2->right);            }            return root;        }    }};
原创粉丝点击