110. 平衡二叉树
一、递归
单次递归时,判断左右子树是否是平衡树,若不是,返回-1,若是,但输得出高度
class Solution {public:// 返回以该节点为根节点的二叉树的高度,如果不是二叉搜索树了则返回-1int getHeight(TreeNode* node) {if (node == NULL) {return 0;}int leftHeight = getHeight(node->left);if (leftHeight == -1) return -1;int rightHeight = getHeight(node->right);if (rightHeight == -1) return -1;return abs(leftHeight - rightHeight) > 1 ? -1 : 1 + max(leftHeight, rightHeight);}bool isBalanced(TreeNode* root) {return getHeight(root) == -1 ? false : true;}};
