zoukankan      html  css  js  c++  java
  • 6-8 求二叉树高度

    6-8 求二叉树高度(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
    ", GetHeight(BT));
        return 0;
    }
    /* 你的代码将被嵌在这里 */
    

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

    思路:今天签到题有点儿早哈

    int GetHeight(BinTree BT)
    {
        if (BT == NULL)return 0;                        //空树的情况
    
        if (BT->Left == NULL&&BT->Right == NULL)
            return 1;
        
        if (BT->Left == NULL)
            return 1 + GetHeight(BT->Right);
    
        if (BT->Right == NULL)
            return 1 + GetHeight(BT->Left);
    
        return  GetHeight(BT->Left) > GetHeight(BT->Right) ? 1 + GetHeight(BT->Left) : 1 + GetHeight(BT->Right);
        
    }
  • 相关阅读:
    数据库
    poj上关于回文的题目
    最长上升子序列
    [CodeForces]914D Bash and a Tough Math Puzzle
    [HAOI2011]problem a
    Arc123 D
    [Cnoi2020]线性生物
    [USACO17FEB]Why Did the Cow Cross the Road III P
    ABC 210
    CF1111D Destroy the Colony
  • 原文地址:https://www.cnblogs.com/zengguoqiang/p/8391588.html
Copyright © 2011-2022 走看看