当前位置: 首页 > article >正文

XDOJ 771 求二叉树高度

试题名称
求二叉树高度
问题描述:
下面的程序求给定二叉树的高度,包括创建二叉树( CreatBinTree )、计算给定的二叉树的
高度( GetHeight )等操作,评判系统中已实现 CreatBinTree 以及 main 函数。
例如,下图所示的二叉树的高度为 4
请定义并提交实现计算二叉树高度的函数 GetHeight
#include <stdio.h>
#include<stdlib.h>
typedef struct TNode{
char Data;
struct Tnode *Left, *Right;
}Tnode, *BinTree;
BinTree CreatBinTree ( ) ; // 根据先序序列创建二叉树
int GetHeight ( BinTree BT ) ; // 计算给定二叉树的高度,返回高度值
int main(){ // 评测系统中使用这里定义的 main 函数进行测试
BinTree BT = CreatBinTree();
printf("%d\n", GetHeight(BT));
return 0;
} 输入说明:
输入二叉树的先序序列,用 # 代表空树(子树)。如上图中二叉树的先序序列为:
ABD##FE###CH###
输出说明:
按照 main 函数中安排的操作输出一个整数,表示二叉树的高度,参看下面的样例。
测试样例:
输入样例 1
ABD##FE###CH###
输出样例 1
4
输入样例 2
#
输出样例 2
0
// 2025/1/2
int GetHeight( BinTree BT )
{
    if (BT == NULL) return 0;
    if (!BT->Left && !BT->Right) return 1;
    int l = GetHeight(BT->Left) + 1;
    int r = GetHeight(BT->Right) + 1;
    return (l > r ? l : r);
}


http://www.kler.cn/a/464455.html

相关文章:

  • 远程主机执行脚本1、无脚本内容外协。
  • 《learn_the_architecture_-_generic_interrupt_controller_v3_and_v4__lpisn》学习笔记
  • springboot3 redis 批量删除特定的 key 或带有特定前缀的 key
  • 把vue项目或者vue组件发布成npm包或者打包成lib库文件本地使用
  • 硬件-射频-PCB-常见天线分类-ESP32实例
  • 如何利用Logo设计免费生成器创建专业级Logo
  • C++ 面向对象编程:多继承、多态
  • 人工智能安全与隐私——联邦遗忘学习(Federated Unlearning)
  • 利用Java爬虫获取店铺所有商品:技术实践与应用指南
  • Windows通过X11转发显示远程Linux上的图形界面
  • 问题记录:[FATAL] [1735822984.951119148]: Group ‘manipulator‘ was not found.
  • vLLM结构化输出(Guided Decoding)
  • C语言中的va_list
  • 云架构Web端的工业MES系统设计之区分工业过程
  • 工业路由器是什么?ER5000为何是领先5G路由器行业
  • 鸿蒙HarmonyOS开发:系统服务(拨打电话、网络搜索、联系人、位置服务、拉起弹框请求用户授权)
  • OpenCV报错:应用程序无法正常启动0xc000007b
  • Hack The Box-Starting Point系列Responder
  • CSS列表、表格、鼠标、滤镜样式设置
  • 深入理解 C 语言预处理:从源文件到可执行程序的关键步骤
  • Vue3实战教程》24:Vue3自定义指令
  • linux下安装达梦数据库v8详解
  • 通过Dockerfile来实现项目可以指定读取不同环境的yml包
  • 24.Java 新特性扩展(重复注解、类型注解)
  • Docker隔离及资源限制原理
  • 参观华为-拓宽全球视野