剑指Offer55-II.平衡二叉树
写在前面,小白从零刷题,在解答会写出思路,正确答案,以及所有使用到的语法和知识点
1.深度遍历 4
- dfs 深度遍历,递归,由底部,后序遍历
class Solution {
public:
bool flag=true;
bool isBalanced(TreeNode* root) {
dfs(root);
return flag;
}
int dfs(TreeNode *root)
{
if(root==NULL) return 0;
int l=dfs(root->left)+1;
int r=dfs(root->right)+1;
if(abs(l-r)>1) flag=false;
return l>r? l:r;
}
};
时间复杂度/空间复杂度分析/面试场景如何作答
方法一的
- 时间复杂度:O(n)
- 空间复杂度: 空间复杂度为O(height)//堆栈的高度也就是二叉树的高度
知识点及反思
- 使用后序遍历