平衡二叉树

来源:互联网 发布:淘宝商家免费活动 编辑:程序博客网 时间:2024/05/20 09:48


/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public:    bool IsBalanced(TreeNode* pRoot,int &depth){        if(pRoot == NULL){            depth = 0;            return true;        }        int left,right;        if(IsBalanced(pRoot->left,left)          && IsBalanced(pRoot->right,right)){            int diff = left - right;            if(diff <= 1 && diff >= -1){                depth = 1 + (left < right ? right : left);                return true;            }        }        return false;    }    bool IsBalanced_Solution(TreeNode* pRoot) {int depth = 0;        return IsBalanced(pRoot,depth);}};


0 0
原创粉丝点击