二叉树的最小高度,最大高度(深度)和宽度
最大高度
function getMaxHeight(root){if(root == null){return 0;}else{var left = getMaxHeight(root.left);var right = getMaxHeight(root.right);return 1 + Math.max(left,right);} }
最小高度
function getMinHeight(root){if(root == null){return 0;}else{var left = getMinHeight(root.left);var right = getMinHeight(root.right);return 1 + Math.min(left,right);} }
二叉树宽度
递归方法
function getMaxWidth(root){if(root == null){return 0;}else if(root.left == null && root.right == null){return 1;}else{return getMaxWidth(root.left) + getMaxWidth(root.right);} }
非递归方法
function getMaxWidth(root){if(root == null){return 0}var queue = [],maxWidth = 1;queue.push(root);while(true){var levelSize = queue.length;if(levelSize == 0){break;}while(levelSize > 0){var node = queue.shift();levelSize--;if(node.left){queue.push(node.left);}if(node.right){queue.push(node.right);}}maxWidth = Math.max(maxWidth,levelSize);}return maxWidth; }
转载于:https://www.cnblogs.com/mengff/p/6849701.html
二叉树的最小高度,最大高度(深度)和宽度相关推荐
- 数据结构——二叉树的最小深度算法
给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 输入:root = [3,9,20,null,null,15,7] 输 ...
- 【Leetcode】111. 二叉树的最小深度
一.题目 1.题目描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例1: 输入:root = [3,9,20, ...
- 二叉树的最小深度——递归法、迭代法
1题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20,null,nu ...
- 树的概念:层次、高度、深度、宽度
目录 层次 宽度 深度 高度 其中只有层次是树原生的概念,其他都是从树中的结点来的. 层次 从根节点开始算起,根节点算第一层.如图所示的树 第1层:A 第2层:B,C 第3层:D,E,F 第4层:G, ...
- 【每日一算法】二叉树的最小深度
每日一算法-二叉树的最小深度 题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,2 ...
- 二叉树-二叉树的最小深度(递归法)
题意: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 思路: 这里使用递归的方法,找二叉树的最小深度 1.先判断根节点是否为空,是返回0: 2.调用函数遍 ...
- 《剑指offer》求二叉树的最小深度(非递归法)
题目:求二叉树的最小深度(实际上该题来自leetcode) 解析:递归法简单些,下面演示下非递归.无外乎层次遍历二叉树了,思想是用current记录当前层的节点数,next记录下一层的节点数,用队列保 ...
- c#二叉树 取叶子节点个数_二叉树的最小深度+完全二叉树的节点个数
二叉树的最小深度 题目:给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20 ...
- 111. 二叉树的最小深度 golang
111. 二叉树的最小深度 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,nu ...
- 二叉树的深度_十七:二叉树的最小深度
二叉树的最小深度:从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最短路径的长度为树的最小深度. 算法一 /** * @description 二叉树最小深度 * @param {*} ...
最新文章
- android.os.NetworkOnMainThreadException异常
- Android.mk文件编写
- TopN算法与排行榜
- GIS宣传片《地理空间信息革命》视频全集
- 在Java中使用DES加密解密算法
- 【Flink】Flink调优指南
- hive与hbase数据类型对应关系
- 橘子皮巧治咳嗽痰多 泡茶喝-转
- 3.1 tensorflow2实现brown-mood中位数检验法——python实战
- python lambda函数详细解析(面试经常遇到)
- Oracle中记录被锁解锁方法
- 全自动采集程序 php,快看CMS全自动采集影视程序
- SQL——查询和1002号的同学学习的课程完全相同的其他同学的学号和姓名
- 【笔记】《Federated Learning With Blockchain for Autonomous Vehicles Analysis and Design Challenges》精读笔记
- 前端开发:Vue组件中的冒号用法
- 云南省科协第十届学术年会在曲靖开幕
- pandas取出符合条件的某单元格的值
- 货币战争5 读书笔记
- JavaWeb 入门级项目实战 -- 文章发布系统 (第六节)
- 澳大利亚麦考瑞大学计算机学院王岩教授招2023年入学博士研究生和双学位博士生