leetcode110 平衡二叉树
一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。
- 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。
- 二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数。
递归:
class Solution {
private:int getheight(TreeNode* root){if(root == nullptr) return 0;int leftheight = getheight(root->left);if(leftheight == -1) return -1;int rightheight = getheight(root->right);if(rightheight == -1) return -1;return (leftheight - rightheight) > 1 ? -1 : max(leftheight, rightheight) + 1;}
public:bool isBalanced(TreeNode* root) {return getheight(root) == -1 ? false : true;}
};