美文网首页
判断一棵树是不是平衡二叉树

判断一棵树是不是平衡二叉树

作者: superczb | 来源:发表于2017-11-02 11:16 被阅读0次

题目描述

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 ofeverynode never differ by more than 1.

我的思路:采用最笨的办法,递归的判断一棵树的左子树和右子树分别是不是平衡二叉树。

/**

* Definition for binary tree

* public class TreeNode {

*    int val;

*    TreeNode left;

*    TreeNode right;

*    TreeNode(int x) { val = x; }

* }

*/

public class Solution {

public boolean isBalanced(TreeNode root) {

if (root == null)

return true;

int ldepth = height(root.left);

int rdepth = height(root.right);

if (Math.abs(ldepth - rdepth) > 1)

return false;

boolean ltree = isBalanced(root.left);

boolean rtree = isBalanced(root.right);

return ltree & rtree;

}

public int height(TreeNode node){

if (node == null)

return 0;

int ldepth = height(node.left);

int rdepth = height(node.right);

return ldepth > rdepth?ldepth + 1:rdepth + 1;

}

}

相关文章

  • 平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 思路 思路1:从上而下的判断。从根节点开始,判断是不是平...

  • 面试题55 - II. 平衡二叉树

    平衡二叉树 题目描述 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差...

  • LeetCode 力扣 110. 平衡二叉树

    题目描述(简单难度) 判断一棵树是否是平衡二叉树,平衡二叉树定义如下: 它是一棵空树或它的左右两个子树的高度差的绝...

  • 平衡二叉树

    输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 Ja...

  • 39-平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二...

  • 平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉...

  • 链表和二叉树

    单向链表 链表反转 二叉树定义 1、递归中序遍历 2、迭代中序遍历 3、二叉树层序遍历 4、判断一棵树是否为平衡树...

  • 关于二叉树的算法题

    前序遍历中序遍历后序遍历判断是否是平衡二叉树判断是否是对称二叉树判断二叉树高度按照层遍历二叉树判断二叉树宽度

  • 剑指 offer:39、平衡二叉树

    39. 平衡二叉树 题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路: 平衡二叉树:Wiki:在...

  • 判断一个树是否是BST 求一棵平衡二叉树的最小深度 判断一棵二叉树是否高度平衡

网友评论

      本文标题:判断一棵树是不是平衡二叉树

      本文链接:https://www.haomeiwen.com/subject/krjopxtx.html