zoukankan      html  css  js  c++  java
  • 剑指offer[39]——平衡二叉树

    题目描述

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

    该题目的思路也是一个遍历,二叉树深度从最底部开始计算,从叶子节点向上查询是否每个节点都满足平衡二叉树的要求,满足的话返回当前子树的高度,不满足的话直接返回-1.

    /* function TreeNode(x) {
        this.val = x;
        this.left = null;
        this.right = null;
    } */
    function IsBalanced_Solution(pRoot)
    {
        if(!pRoot){return true;}
        function depth(root){
            if(!root){return 0;}
            let left = depth(root.left);
            if(left==-1){return -1;}
            let right = depth(root.right);
            if(right==-1){return -1;}
            if(left-right>1 || left-right<-1){
                return -1;
            }else{
                return 1+(right>left?right:left);
            }
        }
        return depth(pRoot)!=-1;
    }
    
  • 相关阅读:
    计算机基础(7)
    计算机基础(6)
    计算机基础(5)
    计算机基础(4)
    计算机基础(3)
    计算机基础(2)
    计算机基础(1)
    数组、函数
    js基础知识
    随笔3
  • 原文地址:https://www.cnblogs.com/Jacob98/p/12580300.html
Copyright © 2011-2022 走看看