`
huntfor
  • 浏览: 201328 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[leetcode]Balanced Binary Tree

 
阅读更多

新博文地址:[leetcode]Balanced Binary Tree

 

http://oj.leetcode.com/problems/balanced-binary-tree/

Given a binary tree, determine if it is height-balanced.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

 判断是否是平衡二叉树

百科 
又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

 偷懒用了递归算法,没什么难度

    public boolean isBalanced(TreeNode root) {
		if (root == null) {
			return true;
		}
		int left = getHeight(root.left);
		int right = getHeight(root.right);
		if (Math.abs(left - right) > 1) {
			return false;
		}
		if (root.left != null && !isBalanced(root.left)) {
			return false;
		}
		if (root.right != null && !isBalanced(root.right)) {
			return false;
		}
		return true;
    }
	  private int getHeight(TreeNode root) {
		if (root == null) {
			return 0;
		}
		if (root.left == null && root.right == null) {
			return 1;
		}
		int leftHeight = getHeight(root.left);
		int rightHeight = getHeight(root.right);
		return leftHeight > rightHeight ? leftHeight + 1 : rightHeight + 1;
	}

 

 

分享到:
评论

相关推荐

    leetcode的题目:Balanced Binary Tree

    在LeetCode的"Balanced Binary Tree"题目中,通常要求判断给定的二叉树是否是平衡的。这个问题可以通过递归或迭代的方式来解决。递归方法是分别检查左子树和右子树是否平衡,以及它们的高度。迭代方法则可以使用层次...

    java-leetcode-110-balanced-binary-tree

    java java_leetcode-110-balanced-binary-tree

    python-leetcode题解之110-Balanced-Binary-Tree

    python python_leetcode题解之110_Balanced_Binary_Tree

    js-leetcode题解之110-balanced-binary-tree.js

    javascript js_leetcode题解之110-balanced-binary-tree.js

    leetcode110-BinaryTree_HeightBalanced:力扣110

    至于提供的压缩包文件`BinaryTree_HeightBalanced-master`,它很可能包含了该问题的解决方案源代码,可能是用Python或其他编程语言实现的。解压后,你将能够看到具体的实现细节,包括如何创建二叉树节点、如何进行...

    Leetcode book刷题必备

    29. Convert Sorted Array to Balanced Binary Search Tree:将有序数组转换成平衡的二叉搜索树。 30. Convert Sorted List to Balanced Binary Search Tree:将有序链表转换成平衡的二叉搜索树。 31. Binary Tree ...

    Leetcode题目+解析+思路+答案.pdf

    - **Balanced Binary Tree**:判断一个二叉树是否是平衡的。 - **Path Sum**:判断是否存在一条路径,其节点值之和等于给定的目标值。 - **Binary Tree Depth Order Traversal**:二叉树的深度优先遍历。 - **...

    LeetCode最全代码

    * [Binary Search Tree](https://github.com/kamyu104/LeetCode#binary-search-tree) * [Breadth-First Search](https://github.com/kamyu104/LeetCode#breadth-first-search) * [Depth-First Search]...

    leetcode答案-leetcode-java:leetcode的Java代码

    leetcode 答案leetcode-java leetcode.com 的 Java 答案 ================索引================ com.leetcode.array Search a ...com.leetcode.list ...Balanced Binary Tree Maximum Depth of Binary Tree Same Tree

    leetcode分类-LeetCode:力码

    leetcode 分类 LeetCode Progress 128/154 Other Solutions C++,有详细思路解释 python,部分有解释 Java,部分有解释 ...norvig神牛Python代码写的很飘逸,果然是有LISP内功的人!...Balanced Binary Tree Binar

    左程云leetcode-algorithm-and-data-structure:算法+数据结构=程序

    左程云leetcode 数据结构和算法学习笔记 一、简介 1. 2. 3. 4. 5. 6. 二、数据结构 1. 二维数组(Array2D) 位数组(Bit Set) 静态数组(Fixed Size Array) 有序表(Ordered Array) 2. 队列(Queues) (后进先出...

    左程云leetcode-algorithm-and-data-structure:算法+数据结构=程序https://en.wikipedia

    左程云leetcode 数据结构和算法学习笔记 一、简介 1. 2. 3. 4. 5. 6. 二、数据结构 1. 二维数组(Array2D) 位数组(Bit Set) 静态数组(Fixed Size Array) 有序表(Ordered Array) 2. 队列(Queues) (后进先出...

    leetcode和oj-interviewprep:面试准备

    leetcode 和 oj 完整的面试准备文档 - 基于 GooglePrep.txt 推荐书籍 编程面试曝光:找到下一份工作的秘密,John Mongan、Eric Giguere、Noah Suojanen、Noah Kindler、John Wiley & Sons 算法导论,Thomas H. ...

    leetcode旋转-Leetcode:力码

    leetcode旋转 Leetcode 视频链接待补充:triangular_flag: 打卡 题目类型 题目编号 ...Balanced Binary Tree Leetcode #110 Day6 AVL Tree Leetcode #108 Day7 AVL Tree Rotation 补充AVL Tree旋转操作

    leetcode java

    - 平衡二叉树(Balanced Binary Tree)问题需要检查一棵树是否是平衡的。 **位操作(Bit Manipulation)** 位操作是高级的编程技能,涉及到位运算。 - "只出现一次的数字"(Single Number)题目要求找出数组中只...

    leetcode双人赛-js-structures:JS结构体问题及解决方法

    balanced binary search tree - 对于给定的初始值,自动生成平衡二叉搜索树。 [] 算法 BFS JS实现2 Leetcode问题解决 问题 洪水填充问题(已解决):油漆问题。 给定一个由矩阵表示的图像,绘制一个像素 (src) 和...

    maycope#Leetcode-Classic#1.5 二叉树是否平衡1

    1.5 二叉树是否平衡Given a binary tree, determine if it is height-balanced.For this prob

    python-leetcode面试题解之第110题平衡二叉树-题解.zip

    本压缩包文件聚焦于Python语言和LeetCode上的第110题——“平衡二叉树”(Balanced Binary Tree)。平衡二叉树是一种特殊的二叉树结构,它的左子树和右子树的高度差不超过1,并且左右子树都是平衡二叉树。 首先,...

    常见算法题答案及解析

    28. Balanced Binary Tree:判断二叉树是否为平衡二叉树。 29. Convert Sorted Array to Binary Search Tree:将有序数组转换为高度平衡的二叉搜索树。 30. Convert Sorted List to Binary Search Tree:将有序链表...

Global site tag (gtag.js) - Google Analytics