剑指 Offer 55 - II. 平衡二叉树

思路
老样子
1.当前节点为根节点,是否平衡
2.左右节点为根节点,是否平衡
代码
class Solution {
public boolean isBalanced(TreeNode root) {
if(root==null)return true;
int l=dfs(root.left),r=dfs(root.right);
return (Math.abs(l-r)<=1)&&isBalanced(root.left)&&isBalanced(root.right);
}
public int dfs(TreeNode root){
if(root==null)return 0;
return 1+Math.max(dfs(root.left),dfs(root.right));
}
}
本文解析了如何使用递归实现平衡二叉树的深度优先遍历,并介绍了isBalanced方法检查二叉树是否平衡的关键步骤。通过实例代码展示了如何通过计算左右子树高度差的绝对值来判断平衡状态。
316

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



