leetcode 39:balanced-binary-tree
题目描述
本题要求判断给定的二叉树是否是平衡二叉树
平衡二叉树的性质为: 要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过 1。
一颗树的高度指的是树的根节点到所有节点的距离中的最大值。
代码如下:
1 int maxDepth(TreeNode* root) 2 { 3 if(root == NULL) 4 return 0; 5 return max(maxDepth(root->left),maxDepth(root->right)) + 1; 6 } 7 bool isBalanced(TreeNode* root) { 8 if(root == NULL) 9 return true; 10 if(abs(maxDepth(root->left) - maxDepth(root->right))> 1) 11 return false; 12 return isBalanced(root->left)&&isBalanced(root->right); 13 }