C语言实现二叉树合并代码示例
以下是使用C语言实现二叉树合并的代码:
#include <stdio.h>
#include <stdlib.h>
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};
struct TreeNode* mergeTrees(struct TreeNode* t1, struct TreeNode* t2) {
if (t1 == NULL) {
return t2;
}
if (t2 == NULL) {
return t1;
}
t1->val += t2->val;
t1->left = mergeTrees(t1->left, t2->left);
t1->right = mergeTrees(t1->right, t2->right);
return t1;
}
该函数接受两个二叉树作为参数,返回合并后的二叉树。它首先检查其中一个二叉树是否为空,如果是,则返回另一个二叉树。然后,它将两个二叉树的根节点的值相加,并递归地调用自己来合并它们的左子树和右子树。最后,它返回合并后的二叉树的根节点。
原文地址: https://www.cveoy.top/t/topic/jzfZ 著作权归作者所有。请勿转载和采集!