(JAVA实现)平衡二叉树的判断
判断一棵二叉树是否为平衡二叉树:
实现一个函数,检查二叉树是否平衡,平衡二叉树的定义如下,对于树中的任意 一个结点,其两颗子树的高度差不超过1。
给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。
import java.util.*;class TreeNode {int val = 0;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}
}
public class Balance {public boolean isBalance(TreeNode root) {//根结点为空,则这个二叉树为平衡二叉树if(root==null){ return true;}int left=getLength(root.left); //左子树的高度int right=getLength(root.right); //右子树的高度if(Math.abs(left-right)<=1){return isBalance(root.left)&&isBalance(root.right);}else{return false; //只要有一个结点不平衡,则返回false}}//计算二叉树的高度private int getLength(TreeNode root) {if(root==null){return 0;}int l=getLength(root.left); //左子树的高度int r=getLength(root.right); //右子树的高度if(l>r){return l+1; //二叉树的高度为左右子树高度最大值加1}else{return r+1;}}
}
(JAVA实现)平衡二叉树的判断相关推荐
- java虚拟机如何判断两个类相同_你有没有想过: Java 虚拟机是如何判断两个对象是否相同的?判断的流程是什么?...
在Java程序运行时,会产生那么多的对象,那 Java 虚拟机是如何判断两个对象是否相同的呢?判断的流程是什么? 参考解答: Java 虚拟机会先判断两个对象的hashCode是否相同,如果hashC ...
- 【Java】奇偶数判断
[Java]奇偶数判断 需求 编写方法,判断一个数是奇数还是偶数 代码 package com.cxl.demo27;import java.util.Scanner;//奇偶数判断 public c ...
- 使用Java实现平衡二叉树
使用Java实现平衡二叉树 二叉树是一种较为复杂的数据结构,二叉树算法在数据查询时的时间复杂度为 O(log n)(n为保存元素个数). 但是普通的二叉树在数据添加和删除时很容易出现树结构不平衡问题 ...
- java判断是否安装了pdf_java判断上传文件是否为pdf java图像上传中如何判断是否是jpg格式...
java怎么判断有没有上传文件 Java平台如何判断用户上传的文件是否是图片不要辜负了自己受过的苦难,这样善良又努力的一个你,一定会得到曾梦寐以分享的所有美好. if(typeof FileReade ...
- java 布尔值的判断
java 布尔值的判断 不要用 if(flag == true)这种写法 容易写成 if(flag = true), 直接if(flag)
- JAVA水仙花数与判断是否为水仙花数
问题描述 水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身 *** 水仙花 DaffodilNum* 水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身* public ...
- java 滚动条的事件_[Java教程]jquery如何判断滚动条滚到页面底部并执行事件
[Java教程]jquery如何判断滚动条滚到页面底部并执行事件 0 2016-04-27 10:00:13 本文章向码农介绍jquery如何判断滚动条滚到页面底部并执行事件.首先理解三个dom元素, ...
- Java(79):Character.isDigit() 判断输入的数据是否大于等于零整数
/*** @param str* @function 判断输入的数据是否是大于等于零的整数*/public static boolean isNumeric(String str) {for (int ...
- java如何通过if判断字符_java如何用if判断字符串是否相等
java如何用if判断字符串是否相等 发布时间:2020-06-16 09:30:54 来源:亿速云 阅读:58 作者:Leah java如何用if判断字符串是否相等?针对这个问题,今天小编总结了这篇 ...
- java中判断复选框是否被选中_[Java教程]jquery如何判断checkbox(复选框)是否被选中...
[Java教程]jquery如何判断checkbox(复选框)是否被选中 0 2013-08-15 18:00:14 谁都知道 在html 如果一个复选框被选中 是 checked="che ...
最新文章
- python多线程爬虫 爬取多个网页_Python 多线程抓取网页
- 建立能持续处理请求的Server端改造
- python能不能用c打开文件_C/C++/Python等 使用二进制模式打开文件与不使用二进制模式的区别...
- 2017-03-16 Codeforces 453A 概率期望,思维 UOJ 228(待补)
- Datawhale 一周年,生日快乐!
- kafka创建topic_Kafka系列第三篇!10 分钟学会如何在 Spring Boot 程序中使用 Kafka 作为消息队列?...
- Oracle远程服务端配置
- ARM汇编初探---汇编代码中都有哪几类指令---ARM伪指令介绍
- 东莞芯钰科运动控制卡实战记录-硬件篇
- 转:马明哲:拥有执行力才能让你强大
- java 替换emoji表情,java 替换掉emoji表情
- 云智慧全智能计算机,东方所推出INV3062T型云智慧采集系统
- vi/vim的一些干货命令及快捷键(跳转最后一行,跳转行末等)~舒服!!!
- 男人就要对自己狠一点
- selenium-爬取公众号0.2
- Qt成功运行Zynq UltraScale+MPSoC平台上
- 云南怒江---地狱与天堂的边缘
- IDEA 2018 3.4 激活破解方法
- springboot 东方通(tongweb)替换tomcat
- 《101 Windows Phone 7 Apps》读书笔记-BABY NAME ELIMINATOR
热门文章
- 创客平台靠什么盈利?
- 如何在启动时禁用Razer突触启动画面
- 进入网页页面的开发者模式——三种方式
- 1560_AURIX_TC275_NMI Trap以及PMC
- 一个优秀IT专家的成长历程-献给所有的颓废或即将颓废的人们
- 某计算机地址总线宽度为32位,这台计算机能够寻址的内存单元是多少?,某计算机地址总线宽度为32位,这台计算机能够寻址的内存单元是多少?...
- 关于JavaWeb JSP的思维导图
- 记一次idea莫名其妙报错找不到依赖问题
- Javascript——js常用的方法(一)...........
- 用EasyRTSPServer模拟摄像机RTSP流实现RTSP摄像机模拟器