统计二叉树中不平衡节点树的个数
题目:写一个算法,统计二叉树中不平衡结点树的个数。若一个树的左子树高度和右子树高度之差的绝对值大于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
}
统计二叉树中不平衡节点树的个数相关推荐
- leetcode1448. 统计二叉树中好节点的数目(dfs)
给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目. 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值. 代码 /*** Definition for ...
- 统计二叉树中叶子节点的数目(数组实现)
按照完全二叉树的形式输入二叉树的各结点数据(字符),其中虚结点用'@'表示.输入以'#'结束. 输出叶子结点的个数及具体值.第一行为为叶子结点的数据值,各数据用空格分隔,第二行为叶子结点的个数. 输入 ...
- java 获取叶子节点个数_数据结构编程: 统计二叉树中叶子结点的个数。
展开全部 叶子节点:没有孩子节点的节点 也就是说,当我们明白了叶子节点的定义62616964757a686964616fe59b9ee7ad9431333363376531后,只需要遍历一遍二叉树,把 ...
- 分别采用递归和非递归方式编写两个函数,求一棵二叉树中叶子节点个数
分别采用递归和非递归方式编写两个函数,求一棵二叉树中叶子节点个数 #include #include #define MAXSIZE 50 typedef char datatype; typedef ...
- 查找树的指定层级_非递归层次遍历方法实现二叉树中指定节点的层次数查找
数据结构教材中,提供了基于队列实现一个二叉树的非递归层次遍历算法.但对于一个任意二叉树,如果要查找其中任何一个节点所在的层次数,教科书中并没有给出基于层次遍历的非递归算法.鉴于层次遍历算法比较容易理解 ...
- 7-1 统计字符串中不同种类的字符个数 (10 分)
7-1 统计字符串中不同种类的字符个数 (10 分) 本题目要求读入一个字符串,统计字符串中字母.数字.空格.其它字符的个数. 输入格式: 输入一行由任意字符组成的字符串. 输出格式: 统计字符串中字 ...
- 统计字符串中不同字符类型的个数
public class 统计字符串中不同字符类型的个数 { /** * @param args */ public static void main(String[] args) { // TODO ...
- python统计句子中单词个数_python练习:一行搞定-统计一句话中每个单词出现的个数...
原博文 2018-10-04 19:42 − 一行搞定-统计一句话中每个单词出现的个数 >>> s'i am a boy a bood boy a bad boy' 方式一:> ...
- Java统计数组中各个数字出现的个数和字符串中各个字符出现的个数
一.前言 对于统计个数问题,我们一般利用HashMap来解决,其中key表示原始元素值,value表示其出现个数或出现次数.主要步骤为: 1.创建一个HashMap<Character, Int ...
- 二叉树中两节点之间最短路径
折腾了一下午,在参考 liuyi1207164339帖子和 ethannnli的帖子的基础上搞定了这个问题.刚开始头真的大了,感觉有点超出能力范围了.分析了他们的思路,求解这个二叉树中两节点的最短路径 ...
最新文章
- Object-C 有私有变量?私有方法?
- android oppo 权限,OPPO Reno可尝鲜Android Q:教程如下
- linux下Yum的$releasever和$basearch的取值
- 机器学习中的范数规则化之(二)核范数与规则项参数选择
- VS2005 VSTO 项目创建
- 模仿写一个小型网站框架
- 项目管理(2):管理过程二
- 第五章 ---- 面向对象(二)
- Redis数据类型及使用场景
- 论文阅读-可变形卷积v2: More Deformable, Better Results
- springboot JPA 做security的时候出现查了user表却不自动查role表 报 session为空
- linux 内核 内存管理 bootmem alloctor 的初始化
- mac 终端 配置代理
- 搜狗搜索引擎+浏览器,双轮驱动读图时代
- 论文阅读笔记 | 三维目标检测——PointRCNN
- 用STL进行字符串的分割与合并
- 蒲江县实验中学计算机老师照片,上“新”!实验中学一批高能教师亮相!
- 鹏业软件问题处理记录
- 关机程序C语言(快来整蛊你的小伙伴吧)
- 中国紫外线传感器市场深度研究分析报告
热门文章
- JavaScript 扁平化数组转成Tree
- PS制作 LOGO图片
- 【leetcode】出界的路径数----迭代问题与计算思维
- 【重装系统Win10】U盘安装windows10正版操作系统 - 固体硬盘版(¥4.5-200)
- iphone和mac互传文件_苹果手机与电脑怎么互传文件 iphone手机数据同步方法
- 看这里!有个奔向月薪7万的程序员专属规划!
- 京东商品数据分析,教你一键分析数据
- c语言.jpg图片转成数组_电脑使用图片转换器打开heic图片方法
- 无线传输课程设计,基于ZigBee的水质监测系统设计
- 学中医的女生写出的保养大法