题目:

代码:

#include<iostream>
using namespace std;
typedef struct BinaryTree
{char data;struct BinaryTree* left;struct BinaryTree* right;
}BT;
void BinaryTreeCreate(BT*& ps)
{char a;cin >> a;if (a == '#')ps = NULL;else{ps = (BT*)malloc(sizeof(BT));ps->data = a;BinaryTreeCreate(ps->left);BinaryTreeCreate(ps->right);}
}
int BinaryTreeDepth(BT* ps)
{if (ps == NULL)return 0;else{int leftDepth = BinaryTreeDepth(ps->left);//左子树的深度int rightDepth = BinaryTreeDepth(ps->right);//右子树的深度return leftDepth>rightDepth ? leftDepth + 1 : rightDepth + 1;//运用三目运算符,如果左子树深度更大则最大深度为左子树+1,否则相反}
}
int main()
{BT* tree;BinaryTreeCreate(tree);printf("%d", BinaryTreeDepth(tree));return 0;
}

数据结构之971: 统计利用先序遍历创建的二叉树的深度相关推荐

  1. 971: 统计利用先序遍历创建的二叉树的深度

    971: 统计利用先序遍历创建的二叉树的深度 题目描述 利用先序递归遍历算法创建二叉树并计算该二叉树的深度.先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接 ...

  2. SWUSTOJ #971 统计利用先序遍历创建的二叉树的深度

    SWUSTOJ #971 统计利用先序遍历创建的二叉树的深度 题目 输入 输出 样例输入 样例输出 源代码 题目 利用先序递归遍历算法创建二叉树并计算该二叉树的深度.先序递归遍历建立二叉树的方法为:按 ...

  3. SWUST OJ 971: 统计利用先序遍历创建的二叉树的深度

    题目描述 利用先序递归遍历算法创建二叉树并计算该二叉树的深度.先序递归遍历建立二叉树的方法为:按照先序递归遍历的思想将对二叉树结点的抽象访问具体化为根据接收的数据决定是否产生该结点从而实现创建该二叉树 ...

  4. #swust oj971 和972统计利用先序遍历创建的二叉树的深度和宽度

    971: 统计利用先序遍历创建的二叉树的深度 思路: 1.先序递归遍历创建二叉树 2.当接收的数据是字符"#"时表示该结点不需要创建,否则创建该结点 3.最后后序遍历算法统计二叉树 ...

  5. 数据结构之SWUSTOJ978: 输出利用先序遍历创建的二叉树的中序遍历序列 and SWUSTOJ979: 输出利用先序遍历创建的二叉树的后序遍历序列

    题目: 代码: #include<iostream> using namespace std; typedef struct Binarynode {char data;struct Bi ...

  6. SWUSTOJ #978 输出利用先序遍历创建的二叉树的中序遍历序列

    SWUSTOJ #978 输出利用先序遍历创建的二叉树的中序遍历序列 题目 输入 输出 样例输入 样例输出 源代码 题目 利用先序递归遍历算法创建二叉树并输出该二叉树的中序遍历序列.先序递归遍历建立二 ...

  7. #swust oj978,979,980输出利用先序遍历创建的二叉树的中序遍历序列,后序遍历序列,层次遍历序

    输出利用先序遍历创建的二叉树的中序遍历序列,后序遍历序列,层次遍历序列 ***层次遍历思路: 1.初始化一个队列 2.把根节点指针入队 3.队列非空时:出队列取得一个结点指针,访问该节点,若该节点的左 ...

  8. SWUST OJ#1051(数据结构之输出利用先序遍历创建的二叉树中的指定结点的Child结点)

    目录 题目 思路 数据结构代码 小结 题目 思路 从根节点开始遍历,在节点不为空的前提下,进行类似与数学的分类讨论!!!接下来请各位看代码部分,有疑问评论区留言,有问必答!!! 数据结构代码 #inc ...

  9. SWUST OJ#1052 输出利用先序遍历创建的二叉树中的指定结点的双亲结点

    目录 题目 思路 代码 题目 题目描述 利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的双亲结点.约定二叉树结点数据为单个大写英文字符.当接收的数据是字符"#"时表示该结点 ...

最新文章

  1. Flutter 构建完整应用手册-动画
  2. python字符串split_「干货」Python字符串中的split方法
  3. 配置ADB到Windows环境变量
  4. java爬虫框架动态_java爬虫框架webmagic
  5. [Python web开发] Web框架开发基础 (一)
  6. 仿B站(一) 目的分析以及创建 WebAPI + Angular7 项目
  7. 虚拟机usb接口连接失败_适用于汽车的USB接口连接器介绍与设计(好文分享)
  8. 浏览器UI线程更新机制
  9. c语言有趣代码,实用有趣的C语言程序
  10. 远程桌面:6个最实用技巧
  11. rk3399调试ov2659(camera模块@dvp接口)--源码分析
  12. 笔记本电脑忽然变得很卡,求解
  13. 用 Pinbox 轻松收藏代码,这就是我要的收藏工具
  14. 通过基因组选择预测杂交水稻的表现(数据挖掘)
  15. linux僵尸进程产生的原因以及如何避免产生僵尸进程
  16. Zotero翻译插件Zotero PDF Translate无法正常翻译,百度、彩云、腾讯翻译api接入
  17. iperf工具的安装和使用
  18. vr多人_如何构建多人VR网络应用
  19. 精英845主板问题!
  20. OpenWrt下WNDR3700V4,WNDR4300 flash容量90M方法(恩山zhouruixi原创)

热门文章

  1. Eclipse汉化 中文语言包下载安装 Babel Language Pack
  2. 基于Android的运动健身减肥管理系统设计与实现(客户端服务端源码及数据库文件)
  3. libbpf-tools编译和使用步骤
  4. 2020.7.8比赛总结
  5. oracle开放查询表权限_(转载)Oracle创建用户并给用户授权查询指定表或视图的权限...
  6. 【IDEA】idea 调试技巧 异常断点 断点之前显示异常字段
  7. final可以修饰些什么
  8. 小程序errno_错误:UNIX程序中的errno
  9. java 汉字转换全拼、首字母拼音
  10. limit和offset用法