这里是一个C++的代码实现:

TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) { if (t1 == NULL) { return t2; } if (t2 == NULL) { return t1; } TreeNode* newNode = new TreeNode(t1->val + t2->val); newNode->left = mergeTrees(t1->left, t2->left); newNode->right = mergeTrees(t1->right, t2->right); return newNode; }

首先,我们需要判断两个节点是否为空。如果其中一个节点为空,那么直接返回另一个节点。如果两个节点都不为空,我们创建一个新节点,并将它的值设置为两个节点的值的和。然后,我们递归地合并它们的左右子树,将它们作为新节点的左右子树。最后,返回新节点即可。


原文地址: http://www.cveoy.top/t/topic/bVbL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录