int check(struct TreeNode* Root)
{
if(!Root) return 0;
int left=check(Root->left);
int right=check(Root->right);
if(abs(left-right)>1||left==-1||right==-1) return -1;
return (left>right?left:right)+1;
}
bool IsBalanced_Solution(struct TreeNode* pRoot ) {
if(!pRoot) return true;
if(check(pRoot)==-1) return false;
return true;
}

京公网安备 11010502036488号