6-2 求二叉树高度 (20 分)

本题要求给定二叉树的高度。

函数接口定义:

int GetHeight( BinTree BT );

其中BinTree结构定义如下:

typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
    ElementType Data;
    BinTree Left;
    BinTree Right;
};

要求函数返回给定二叉树BT的高度值。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>

typedef char ElementType;
typedef struct TNode *Position;
typedef Position BinTree;
struct TNode{
    ElementType Data;
    BinTree Left;
    BinTree Right;
};

BinTree CreatBinTree(); /* 实现细节忽略 */
int GetHeight( BinTree BT );

int main()
{
    BinTree BT = CreatBinTree();
    printf("%d\n", GetHeight(BT));
    return 0;
}
/* 你的代码将被嵌在这里 */

输出样例(对于图中给出的树):

输出:4

 

代码如下:

int GetHeight(BinTree BT)
{
    int left=0;
    int right=0;
    if(BT!=NULL)
    {
        left=GetHeight(BT->Left);
        right=GetHeight(BT->Right);
        if(left>right)
        {
            return left+1;
        }
        else{
            return right+1;
        }
    }
    else
    {
        return 0;
    }
}

 

算是转载吧!地址:https://blog.csdn.net/wxf2012301351/article/details/69400408

posted on 2019-04-10 19:21  大湿Mastwet  阅读(1172)  评论(0编辑  收藏  举报

导航