LeetCode:Balanced Binary Tree

Balanced Binary Tree

Total Accepted: 110024  Total Submissions: 323130  Difficulty: Easy

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.

Subscribe to see which companies asked this question

Hide Tags
  Tree Depth-first Search
Hide Similar Problems
  (E) Maximum Depth of Binary Tree

















c++ code:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isBalanced(TreeNode* root) {
        return balandeTree(root) != -1;
    }
    int balandeTree(TreeNode *root) {
        if(NULL == root) return 0;
        int lh = balandeTree(root->left);
        int rh = balandeTree(root->right);
        if(-1 == lh || -1 == rh || abs(lh-rh)>1) return -1;
        else return max(lh,rh) + 1;
    }
};



你可能感兴趣的:(LeetCode,tree,binary,Balanced)