zoukankan      html  css  js  c++  java
  • leetcode[110]Balanced Binary Tree

    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 differ by more than 1.

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    private:
    bool balance=true;
    public:
    int depthTree(TreeNode *root,bool &balance)
    {
        if(root==NULL)return 0;
        int leftd=1+depthTree(root->left,balance);
        int rightd=1+depthTree(root->right,balance);
        if(abs(leftd-rightd)>1)balance=false;
        return leftd>rightd?leftd:rightd;
    }
        bool isBalanced(TreeNode *root){
            if(root==NULL)return true;
            depthTree(root,balance);
            isBalanced(root->left);
            isBalanced(root->right);
            return balance;
        }
    };
  • 相关阅读:
    判断UpLoader是否安装了Flash
    事务
    AMQP
    分布式领域CAP理论
    查看数据库所有表的所有字段
    拼分页方法
    Website English Comments
    SQL语句执行时间测试
    一般处理程序返回json
    MVC Action返回Json
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4281320.html
Copyright © 2011-2022 走看看