ZBLOG

#include "binary_tree.h" int GetTreeDepth(BiTreeNode* root) // 计算该二叉树的深度 // 参数:二叉树根节点root // 返回:二叉树的深度 { // 请在这里补充代码,完成本关任务 /********** Begin *********/ /********** End **********/ } int GetNodeNumber(BiTreeNode* root) /

你的代码缺少实现部分,下面是补充完整的代码:

#include "binary_tree.h"

int GetTreeDepth(BiTreeNode* root)
// 计算该二叉树的深度
// 参数:二叉树根节点root
// 返回:二叉树的深度
{
    if (root == NULL) {
        return 0;
    }
    
    int leftDepth = GetTreeDepth(root->left); // 左子树深度
    int rightDepth = GetTreeDepth(root->right); // 右子树深度
    
    return 1 + (leftDepth > rightDepth ? leftDepth : rightDepth);
}

int GetNodeNumber(BiTreeNode* root)
// 计算该二叉树的总节点个数
// 参数:二叉树根节点root
// 返回:二叉树的总节点个数
{
    if (root == NULL) {
        return 0;
    }
    
    return 1 + GetNodeNumber(root->left) + GetNodeNumber(root->right);
}

int GetLeafNodeNumber(BiTreeNode* root)
// 计算该二叉树的叶子节点个数
// 参数:二叉树根节点root
// 返回:二叉树的叶子节点个数
{
    if (root == NULL) {
        return 0;
    }
    
    if (root->left == NULL && root->right == NULL) { // 当前节点为叶子节点
        return 1;
    }
    
    return GetLeafNodeNumber(root->left) + GetLeafNodeNumber(root->right);
}

请确保在使用这些代码之前,已经定义了相应的二叉树节点结构和相关的头文件。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=9862

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?