题目描述
给出一棵二叉树,求它的高度。二叉树的创建采用前面实验的方法。

注意,二叉树的层数是从1开始

输入

第一行输入一个整数t,表示有t个二叉树

第二行起输入每个二叉树的先序遍历结果,空树用字符‘0’表示,连续输入t行

输出
每行输出一个二叉树的高度

样例输入
1
AB0C00D00
样例输出
3

最重要的部分是

int height(Node* node) {
if(!node) return 0;
return max(height(node->lchild),height(node->rchild)) + 1;
}


#include<iostream>
using namespace std;class Node {public:char data;Node *lchild, *rchild;Node(char _data) {data = _data;lchild = NULL;rchild = NULL;}Node() {lchild = NULL;rchild = NULL;}~Node() {if (lchild != NULL) {delete lchild;}if (rchild != NULL) {delete rchild;}}
};
class BinaryTree {public:Node *root;void build(Node *&tree) {char c;cin>>c;if(c == '0') {tree = NULL ;}if(c != '0') {tree = new Node(c);build(tree->lchild);build(tree->rchild);}}BinaryTree() {root = NULL;}~BinaryTree() {delete root;}void build() {build(root);}};int height(Node* node) {if(!node) return 0;return max(height(node->lchild),height(node->rchild)) + 1;
}int main() {int t;cin>>t;while(t--) {BinaryTree binarytree;binarytree.build();cout<<height(binarytree.root)<<endl;}return 0;
}

DS树--二叉树高度相关推荐

  1. DS树--二叉树之最大路径

    题目描述 给定一颗二叉树的逻辑结构(先序遍历的结果,空树用字符'0'表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构 二叉树的每个结点都有一个权值,从根结点到每个叶子结点将形成一条路径, ...

  2. 二叉树(C++):创建,前中后序遍历(递归+非递归),获取叶子节点个数,获取树的高度

    文章目录 前言 创建二叉树 先序遍历 中序遍历 后序遍历 获取叶子节点个数 获取树的高度 测试代码 前言 现有如下二叉树: 关于二叉树的相关操作,我们能够发现二叉树从根节点到子节点,以及每个中间节点基 ...

  3. 树的高度从零还是一开始数_数据结构与算法之1——树与二叉树

    数据结构一直是让人头疼,面试遇到手撕算法题时真是慌得不行,从啥也不会刷题刷到游刃有余,路漫漫其修远兮~~.本人还是个算法菜鸟,而且还是想转行互联网的半吊子(好想拿大厂offer啊,幻想中..),希望能 ...

  4. c++现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度

    题目描述 现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度 输入描述: 输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n-1)组 ...

  5. 数据结构(3) 第三天 栈的应用:就近匹配/中缀表达式转后缀表达式 、树/二叉树的概念、二叉树的递归与非递归遍历(DLR LDR LRD)、递归求叶子节点数目/二叉树高度/二叉树拷贝和释放...

    01 上节课回顾 受限的线性表 栈和队列的链式存储其实就是链表 但是不能任意操作 所以叫受限的线性表 02 栈的应用_就近匹配 案例1就近匹配: #include <stdio.h> in ...

  6. 二叉树的创建和遍历(递归和非递归),查找最大值,树的高度

    为什么80%的码农都做不了架构师?>>>    /**  *   链式结构  * @author gao.mq  *  */ public class BuildLinkedTree ...

  7. 二叉树--求树的高度

    实现思想: 1.求树高时我们可以利用递归思想来求.而递归主要的思想就是要将大问题化为小问题. 2.我们求树高时,可以分别求左右子树的高度然后比较左右子树的高度,返回较大的值. 代码实现: int ma ...

  8. 树的高度(小米2017秋招真题)

    现在有一棵合法的二叉树,树的节点都是用数字表示,现在给定这棵树上所有的父子关系,求这棵树的高度. 输入 输入的第一行表示节点的个数n(1<=n<=1000,节点的编号为0到n-1)组成, ...

  9. 树的高度 递归法和非递归法

    递归法思路: 树的高度即节点子树的高度+1(节点子树的高度即左子树高度,右子树高度的最大值) 代码如下: // Height_Recursive 递归法求树的高度 int Height_Recursi ...

最新文章

  1. js实现当前导航菜单高亮显示
  2. yolov5 ncnn
  3. python成长之路——第四天
  4. Ubuntu下用webstorm开发Nodejs(二)
  5. oc5480十六进制_oc 数据类型 | 学步园
  6. 多种缺陷管理软件简介
  7. 数字统计1(数组下标法)
  8. 设计模式(十)------23种设计模式(3):抽象工厂模式
  9. 4修改初始值_Java基础语法 --4(连载)
  10. hibernate4整合spring3.1出现java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider
  11. 计算机三级嵌入式系统之常考指令
  12. 世平数据库保密检查工具再次荣膺中国“优秀软件产品”称号
  13. 数据库设计的基本规范和原则
  14. Python 利用 shutil 移动文件
  15. APP微信登录后端PHP,PHP开发微信授权登录教程
  16. cms php 免费,十大免费PHP内容管理系统(CMS)
  17. 解决Nokia PC SUITE无法识别DELL E6400 WIDCOMM bluetooth的问题
  18. 第四周项目3---单链表的应用之连接
  19. 「AI Timer 说」我只是没有行动而已,我笃定。
  20. 采购申请设置成抬头审批

热门文章

  1. 2.4G+5.8G双频5GWiFi网络分析仪警用追踪mac地址探针路由器下连接设备查看
  2. 如何设计高精度温度传感电路
  3. 视频教程-卡通人物绘画教程---成品-原画设计
  4. OpenAI 发现独特情感神经元,无监督学习系统表征情感取得突破
  5. win10好多电脑服务无法启动问题解决
  6. [词根词缀]lum/词源知识L/magn/manmari/mark词根由来
  7. java.sql.Connection的close方法
  8. revit学习-界面介绍
  9. 故宫学系列之紫禁城:从皇宫到博物院
  10. 国内智能手机数据有盟指数