题目:判断二叉树是否为平衡二叉树

思路:迭代,需要借助二叉树的高度,判断一个树是否为平衡二叉树,则判断其左子树和右子树是否为平衡二叉树

public static boolean isAVLRec(TreeNode root){if(root == null)return true;if(Math.abs(getDepth(root.left)- getDepth(root.right))>1){return false;}return isAVLRec(root.left)&& isAVLRec(root.right);
}public static int getDepth(TreeNode root){if(root == null)return 0;if(root.left == null && root.right == null)return 1;return Math.max(getDepth(root.left), getDepth(root.right))+1;}

转载于:https://www.cnblogs.com/lfdingye/p/7365619.html

判断二叉树是否为平衡二叉树相关推荐

  1. python判断二叉树是否为平衡二叉树

    python判断二叉树是否为平衡二叉树 树是数据结构中的重中之重,尤其以各类二叉树为学习的难点.一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列.在学习与总结的同时更加 ...

  2. 左神算法:判断二叉树是否为平衡二叉树(树形dp套路,Java版)

    本题来自左神<程序员代码面试指南>"判断二叉树是否为平衡二叉树"题目. 题目 平衡二叉树的性质为:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过 1. ...

  3. 判断二叉树是否是平衡二叉树

    平衡二叉树(Balanced Binary Tree)又被称为AVL树:且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树. 主要实现思路: ...

  4. 判断二叉树是否为平衡二叉树(递归)

    题目描述 本题要求判断给定的二叉树是否是平衡二叉树 平衡二叉树的性质为: 要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过 1. 一颗树的高度指的是树的根节点到所有节点的距离中的最大值. ...

  5. java 判断二叉树是否平衡_剑指Offer - 判断二叉树是否是平衡二叉树

    平衡二叉树的条件:为空或者子树高度之差的绝对值小于等于1,且子树也是平衡二叉树 最直接的做法,遍历每个结点,借助一个获取树深度的递归函数,根据该结点的左右子树高度差判断是否平衡,然后递归地对左右子树进 ...

  6. 判断二叉树是否是平衡二叉树(dp tree)

    二叉树节点个数为N, 时间复杂度为O(N) def process(head):#['是否平衡','树的高度']if head == None:return [True,0]left = proces ...

  7. 判断二叉树是否平衡二叉树

    题目 平衡二叉树的性质为:要么是一颗空树,要么任何一个节点的左右子树高度差的绝对值不超过1.给定一棵二叉树的头结点head,判断这棵二叉树是否为平衡二叉树. 难度:? 基础理解 以下是个人认为对概念叙 ...

  8. 判断二叉树是否为完全二叉树

    判断二叉树是否为完全二叉树? 提示:本节仍然是重点说二叉树的DP递归套路,非常重要而且容易理解 二叉树的动态规划树形DP递归套路系列文章有这些,可以帮助你快速掌握树形DP的题目解题思想,就一个套路: ...

  9. 剑指offer:输入一棵二叉树,判断该二叉树是否是平衡二叉树。

    输入一棵二叉树,判断该二叉树是否是平衡二叉树. //后续遍历二叉树,遍历过程中求子树高度,判断是否平衡 class Solution { public:bool IsBalanced(TreeNode ...

最新文章

  1. 王树彤IT美女七年磨一剑
  2. JavaScript面向对象中的严格模式
  3. Packagist发布个人的Composer包
  4. Celery介绍和使用
  5. c++11 继承构造
  6. 《Python编程从入门到实践》记录之测试代码(unitttest模块)
  7. oracle 12 if,Oracle 12.1 RAC 系列 – 配置第二个网络和相应的SCAN2
  8. vim下如何去掉windows编辑的文件中的^M
  9. ASP.NET 2.0 – 善用DataSourceMode属性 (转自章立民CnBlogs)
  10. java删除有序数组中的重复元素_算法刷刷刷Leetcode第26题删除排序数组中的重复项...
  11. Monostate模式
  12. HNOI2008 遥远的行星
  13. python获取数据库列名_如何用Python从SQL中提取出涉及到的表名、列名?
  14. 机器人入门困惑之资料总结
  15. zz很有用的生活小窍门
  16. 【转】在线网页取色器
  17. 给我5个带”一“字的成语
  18. H264 Annex B 与 AVCC的区别
  19. 正点原子STM32F103学习笔记(六)——时钟系统
  20. 浙江大学光电学院夏令营经验分享

热门文章

  1. java 约瑟夫问题 链表_【链表问题】环形单链表约瑟夫问题
  2. java映射文件是哪一种xml_java解析xml的几种方式哪种最好?
  3. 页面打印错误 抛出异常 公司内部用
  4. mfc编辑框显示数据_Excel表格技巧—Excel表格中怎么给数据分等级
  5. 我的世界java材质包转基岩_Minecraft我的世界基岩版材质包导入教程
  6. linux进程莫名其妙被kill,Linux进程突然被杀掉(OOM killer),查看系统日志
  7. oracle12c 新特性,12c Oracle数据库新特性汇总
  8. python的format输出报文_python构造IP报文实例
  9. 基于TLD2331完成动态LED显示驱动
  10. 无电路板的微型电路制作