美文网首页我爱编程
平衡二叉树(java)

平衡二叉树(java)

作者: 夏臻Rock | 来源:发表于2018-06-21 20:32 被阅读0次

    题目描述:

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

    分析:

    把这道题目放在二叉树的深度一题后面,真的是让人很开心啊,一下子就写好了,创解题速度之最。

    解答:

    public class Solution {
        public boolean IsBalanced_Solution(TreeNode root) {
            if(root == null) return true; //空树也认为是平衡的
            //平衡树的左右子树高度差最大为1
            return (Math.abs(getDepth(root.left)-getDepth(root.right))<=1)?true:false;
        }
    
        private static int getDepth(TreeNode node) {
            return (node == null )? 0 : 1+Math.max(getDepth(node.left), getDepth(node.right));
        }
    }
    
    运行成功

    相关文章

      网友评论

        本文标题:平衡二叉树(java)

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