题目:写一个算法,统计二叉树中不平衡结点树的个数。若一个树的左子树高度和右子树高度之差的绝对值大于1,则表明该节点为不平衡结点。

一般写法:

/*题目:写一个算法,统计二叉树中不平衡结点树的个数。
若一个树的左子树高度和右子树高度之差的绝对值大于1,
则表明该节点为不平衡结点。*/
#include <iostream>
#include <algorithm>using namespace std;int sum = 0; //统计不平衡结点个数
int getHeight(node *bt) {if(bt == NULL) return 0; //二叉树为空,树的高度为0else { //递归求当前节点高度:当前结点高度height=max(heightleft, heightright)+1int heightleft = getHeight(bt->left);int heightright = getHeight(bt->right);if(heightleft-heightright>1 || heightleft-heightright<-1){//左子树高度和右子树高度之差的绝对值大于1sum++;}}return  max(heightleft, heightright)+1;
}

求一棵二叉树的深度更简洁的写法:

int getHeight(node *root) {return root==NULL ? 0 : max(getHeight(root->left), getHeight(root->right)) + 1
}

统计二叉树中不平衡节点树的个数相关推荐

  1. leetcode1448. 统计二叉树中好节点的数目(dfs)

    给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目. 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值. 代码 /*** Definition for ...

  2. 统计二叉树中叶子节点的数目(数组实现)

    按照完全二叉树的形式输入二叉树的各结点数据(字符),其中虚结点用'@'表示.输入以'#'结束. 输出叶子结点的个数及具体值.第一行为为叶子结点的数据值,各数据用空格分隔,第二行为叶子结点的个数. 输入 ...

  3. java 获取叶子节点个数_数据结构编程: 统计二叉树中叶子结点的个数。

    展开全部 叶子节点:没有孩子节点的节点 也就是说,当我们明白了叶子节点的定义62616964757a686964616fe59b9ee7ad9431333363376531后,只需要遍历一遍二叉树,把 ...

  4. 分别采用递归和非递归方式编写两个函数,求一棵二叉树中叶子节点个数

    分别采用递归和非递归方式编写两个函数,求一棵二叉树中叶子节点个数 #include #include #define MAXSIZE 50 typedef char datatype; typedef ...

  5. 查找树的指定层级_非递归层次遍历方法实现二叉树中指定节点的层次数查找

    数据结构教材中,提供了基于队列实现一个二叉树的非递归层次遍历算法.但对于一个任意二叉树,如果要查找其中任何一个节点所在的层次数,教科书中并没有给出基于层次遍历的非递归算法.鉴于层次遍历算法比较容易理解 ...

  6. 7-1 统计字符串中不同种类的字符个数 (10 分)

    7-1 统计字符串中不同种类的字符个数 (10 分) 本题目要求读入一个字符串,统计字符串中字母.数字.空格.其它字符的个数. 输入格式: 输入一行由任意字符组成的字符串. 输出格式: 统计字符串中字 ...

  7. 统计字符串中不同字符类型的个数

    public class 统计字符串中不同字符类型的个数 { /** * @param args */ public static void main(String[] args) { // TODO ...

  8. python统计句子中单词个数_python练习:一行搞定-统计一句话中每个单词出现的个数...

    原博文 2018-10-04 19:42 − 一行搞定-统计一句话中每个单词出现的个数 >>> s'i am a boy a bood boy a bad boy' 方式一:> ...

  9. Java统计数组中各个数字出现的个数和字符串中各个字符出现的个数

    一.前言 对于统计个数问题,我们一般利用HashMap来解决,其中key表示原始元素值,value表示其出现个数或出现次数.主要步骤为: 1.创建一个HashMap<Character, Int ...

  10. 二叉树中两节点之间最短路径

    折腾了一下午,在参考 liuyi1207164339帖子和 ethannnli的帖子的基础上搞定了这个问题.刚开始头真的大了,感觉有点超出能力范围了.分析了他们的思路,求解这个二叉树中两节点的最短路径 ...

最新文章

  1. Object-C 有私有变量?私有方法?
  2. android oppo 权限,OPPO Reno可尝鲜Android Q:教程如下
  3. linux下Yum的$releasever和$basearch的取值
  4. 机器学习中的范数规则化之(二)核范数与规则项参数选择
  5. VS2005 VSTO 项目创建
  6. 模仿写一个小型网站框架
  7. 项目管理(2):管理过程二
  8. 第五章 ---- 面向对象(二)
  9. Redis数据类型及使用场景
  10. 论文阅读-可变形卷积v2: More Deformable, Better Results
  11. springboot JPA 做security的时候出现查了user表却不自动查role表 报 session为空
  12. linux 内核 内存管理 bootmem alloctor 的初始化
  13. mac 终端 配置代理
  14. 搜狗搜索引擎+浏览器,双轮驱动读图时代
  15. 论文阅读笔记 | 三维目标检测——PointRCNN
  16. 用STL进行字符串的分割与合并
  17. 蒲江县实验中学计算机老师照片,上“新”!实验中学一批高能教师亮相!
  18. 鹏业软件问题处理记录
  19. 关机程序C语言(快来整蛊你的小伙伴吧)
  20. 中国紫外线传感器市场深度研究分析报告

热门文章

  1. JavaScript 扁平化数组转成Tree
  2. PS制作 LOGO图片
  3. 【leetcode】出界的路径数----迭代问题与计算思维
  4. 【重装系统Win10】U盘安装windows10正版操作系统 - 固体硬盘版(¥4.5-200)
  5. iphone和mac互传文件_苹果手机与电脑怎么互传文件 iphone手机数据同步方法
  6. 看这里!有个奔向月薪7万的程序员专属规划!
  7. 京东商品数据分析,教你一键分析数据
  8. c语言.jpg图片转成数组_电脑使用图片转换器打开heic图片方法
  9. 无线传输课程设计,基于ZigBee的水质监测系统设计
  10. 学中医的女生写出的保养大法