leetcode : mergeTrees(递归)

来源:互联网 发布:编程开发是怎样的过程 编辑:程序博客网 时间:2024/06/17 15:15

题:输入两颗二叉树,将它们合成为一颗二叉树,合成规则如下,

The merge rule is that if two nodes overlap, then sum node values up as the new value of the merged node. Otherwise, the NOT null node will be used as the node of new tree.


代码:

/** * 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(t2==nullptr)return t1;        if(t1==nullptr)return t2;        t1->val+=t2->val;        t1->left=mergeTrees(t1->left,t2->left);        t1->right=mergeTrees(t1->right,t2->right);        return t1;    }};