/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isBalanced(TreeNode root) {
if (root == null) return true;
return isBalanced(root.left) && isBalanced(root.right) && Math.abs(height(root.left) - height(root.right)) <= 1;
}
public int height(TreeNode root) {
if (root == null) return 0;
int lh = height(root.left);
int rh = height(root.right);
return lh > rh ? lh + 1 : rh + 1;
}
}
平衡二叉树
最新推荐文章于 2024-08-06 23:23:19 发布
本文介绍了一种判断二叉树是否为平衡二叉树的方法。通过递归计算每个节点的左右子树高度,并检查二者之间的差值是否不超过1来实现。平衡二叉树是一种重要的数据结构,有助于保持树的高度尽可能小,从而提高查找、插入和删除操作的效率。
摘要由CSDN通过智能技术生成