class Solution { public: int TreeDepth(TreeNode* pRoot) //计算二叉树深度 { if(pRoot == NULL) { return 0; } if(pRoot->left == NULL && pRoot->right == NULL) { return 1; } return 1+max(TreeDepth(pRoot->left), TreeDepth(pRoot->right)); } bool IsBalanced_Solution(TreeNode* pRoot) { //判断二叉树是否为平衡二叉树 if(pRoot == NULL) return true; return abs( TreeDepth(pRoot->left) - TreeDepth(pRoot->right) ) <=1 \ && IsBalanced_Solution(pRoot->left)&& IsBalanced_Solution(pRoot->right); } };