美文网首页
平衡二叉树

平衡二叉树

作者: Hammy | 来源:发表于2018-02-01 15:51 被阅读0次

题目:
输入一棵二叉树,判断该二叉树是否是平衡二叉树。

思路:
平衡二叉树的特点是左子树与右子树的高度相差不大于1,所以根据后序遍历先遍历左右子树的特别,结合二叉树的求深度的方法进行判断.

代码

/**
 * Created by Hammy on 2018/2/1.
 * 输入一棵二叉树,判断该二叉树是否是平衡二叉树.
 * 平衡二叉树的要求是左子树和右子树的高度差不相差1
 * 使用后续遍历,因为后续遍历在遍历的过程中左右子树深度已经遍历成功
 */
public class IsBalanced_Solution
{
    private boolean flag = true;
    public boolean isBalanced_Solution(TreeNode root){
       TreeDepth(root);
        return flag;
    }
    private int TreeDepth(TreeNode node){
        if(node == null)
            return 0;

        int left = TreeDepth(node.left);
        int right = TreeDepth(node.right);
        if(Math.abs(left - right) > 1){
            flag = false;
        }
        return (left > right)?left+1:right+1;
    }

}


相关文章

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

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

  • 平衡二叉树

    1)什么是平衡二叉树?2)平衡二叉树的特点是什么?3)平衡二叉树的构建实现? 一、什么是平衡二叉树?假设有一组数据...

  • 面试题:平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 知识点 平衡二叉树 Qiang的思路 平衡二叉树是指一个...

  • Leetcode 110 平衡二叉树

    平衡二叉树 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每...

  • 二叉树2-平衡二叉树、完全二叉树、二叉树剪枝

    110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 一棵高度平衡二叉树定义为:一个二叉树每个节点 ...

  • Leetcode题解 - Easy - 4

    110- 平衡二叉树 问题 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一...

  • TreeMap源码分析

    TreeMap 平衡二叉树 平衡二叉树(Self-balancing binary search tree)又被称...

  • 图的应用[平衡二叉树以及散列查找]

    平衡⼆二叉树( AVL 树) 平衡⼆二叉树(Self-Balancing Binary Search Tree 或...

  • [LeetCode]110. 平衡二叉树

    110. 平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个...

  • 力扣算法 - 平衡二叉树

    平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的...

网友评论

      本文标题:平衡二叉树

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