zoukankan      html  css  js  c++  java
  • 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 diffe

    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 left=treeDepth(root.left);
            int right=treeDepth(root.right);
            if(Math.abs(left-right)<=1){//条件
                if(isBalanced(root.left)&&isBalanced(root.right))//递归调用isBanlianced(root);
                    return true;
            }
            return false;
            
        }
    
        private int treeDepth(TreeNode root) {//求树的深度
            // TODO Auto-generated method stub
            if(root==null)return 0;
            
            return Math.max(treeDepth(root.right), treeDepth(root.left))+1;
        }
    }
  • 相关阅读:
    单例设计模式
    使用JfreeChart生成统计图
    session的生命周期
    json
    struts2 ognl标签使用
    集合小结
    多线程
    内部类和匿名内部类
    模版方法设计模式
    mac中yeoman构建你的项目
  • 原文地址:https://www.cnblogs.com/softwarewebdesign/p/5511041.html
Copyright © 2011-2022 走看看