以下是使用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;
}

该函数接受两个二叉树作为参数,返回合并后的二叉树。它首先检查其中一个二叉树是否为空,如果是,则返回另一个二叉树。然后,它将两个二叉树的根节点的值相加,并递归地调用自己来合并它们的左子树和右子树。最后,它返回合并后的二叉树的根节点。

C语言实现二叉树合并代码示例

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

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