[LeetCode] 110. Balanced Binary Tree

来源:互联网 发布:淘宝店铺类目 编辑:程序博客网 时间:2024/06/11 22:42

思路:
递归求解. 判断左子树的最大深度和右子树的最大深度是不是最多差1.

int height(TreeNode* root) {    if (! root)        return 0;    int left, right;    left = height(root->left);    if (left == -1)        return -1;    right = height(root->right);    if (right == -1)        return -1;    if (abs(left - right) > 1)        return -1;    return max(left, right) + 1;}bool isBalanced(TreeNode* root) {    return height(root) == -1;}
0 0