zoukankan      html  css  js  c++  java
  • 平衡二叉树

    题目描述

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

    解题思路

    从下往上遍历,如果子树是平衡二叉树,则返回子树的高度;如果发现子树不是平衡二叉树,则直接停止遍历,这样至多只对每个结点访问一次。

    public class Solution {
        public boolean IsBalanced_Solution(TreeNode root) {
            return Depth(root) != -1;
        }
        public int Depth(TreeNode root) {
            if(root == null) return 0;
            int left = Depth(root.left);
            if(left == -1)return -1;
            int right = Depth(root.right);
            if(right == -1)return -1;
            return Math.abs(left-right)>1? -1 : 1+Math.max(left, right);
        }
    }
  • 相关阅读:
    git
    uniapp
    laravel
    laravel
    js
    js -上传文件获取名字赋值
    laravel
    持续集成
    持续集成
    持续集成
  • 原文地址:https://www.cnblogs.com/yihangZhou/p/10494450.html
Copyright © 2011-2022 走看看