leetcode-110-平衡二叉树

/**

 * 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:

    int TreeHeight(TreeNode* root){

        if (!root) return 0;

        return max(TreeHeight(root->left), TreeHeight(root->right))+1;

    }

    bool isBalanced(TreeNode* root) {

        bool res = true;

        if (root){

            if (abs(TreeHeight(root->left) - TreeHeight(root->right)) > 1) return false;

            else res = isBalanced(root->left) && isBalanced(root->right);

        }

        return res;

    }

};

发布了82 篇原创文章 · 获赞 0 · 访问量 1367

猜你喜欢

转载自blog.csdn.net/ChenD17/article/details/104272749