就是深度优先收索。DFS 判断当前root左子树和右子数的高度,然后递归判断左边右边是否banlanced.
class Solution {
public:
int height(TreeNode* root){
if(!root) return 0;
return (1+ max(height(root->left), height(root->right)));
}
bool isBalanced(TreeNode* root) {
if(!root) return true;
return abs(height(root->left)-height(root->right)) < 2 && isBalanced(root->left) && isBalanced(root->right);
}
};
本文介绍了一种使用深度优先搜索(DFS)来判断二叉树是否为平衡二叉树的方法。通过递归计算左右子树的高度,并检查高度差是否小于2,以此判断整棵树是否满足平衡条件。
1135

被折叠的 条评论
为什么被折叠?



