当前位置: 首页 > news >正文

java练习(28)

ps:练习来自力扣

给定一个二叉树,判断它是否是平衡二叉树

// 定义二叉树节点类
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode() {}
    TreeNode(int val) { this.val = val; }
    TreeNode(int val, TreeNode left, TreeNode right) {
        this.val = val;
        this.left = left;
        this.right = right;
    }
}

class Solution {
    public boolean isBalanced(TreeNode root) {
        return getHeight(root) != -1;
    }

    private int getHeight(TreeNode node) {
        // 如果当前节点为空,高度为 0
        if (node == null) {
            return 0;
        }
        // 递归计算左子树的高度
        int leftHeight = getHeight(node.left);
        // 如果左子树已经不平衡,直接返回 -1
        if (leftHeight == -1) {
            return -1;
        }
        // 递归计算右子树的高度
        int rightHeight = getHeight(node.right);
        // 如果右子树已经不平衡,直接返回 -1
        if (rightHeight == -1) {
            return -1;
        }
        // 判断当前节点的左右子树高度差是否超过 1
        if (Math.abs(leftHeight - rightHeight) > 1) {
            return -1;
        }
        // 如果当前节点平衡,返回其高度(左右子树最大高度加 1)
        return Math.max(leftHeight, rightHeight) + 1;
    }
}

  

相关文章:

  • Java 大视界 -- 开源社区对 Java 大数据发展的推动与贡献(91)
  • AWS 前端自动化部署流程指南
  • Leetcode 526 Beautiful number
  • 用自己的数据训练yolov11目标检测
  • HTTP 响应头信息
  • Selenium+Pytest自动化测试框架实战
  • ad原理图元件透明问题
  • WWW 2025 | 中南、微软提出端到端双重动态推荐模型,释放LLM在序列推荐中的潜力...
  • 开源模型应用落地-LangGraph101-探索 LangGraph 短期记忆
  • 基于YOLO11深度学习的胃肠道息肉智能检测分割与诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
  • Java 基于SpringBoot+Vue 的旅游网站信息化管理系统设计与实现
  • JavaScript的诞生与进化
  • jetson orin nano super AI模型部署之路(一)deepseek r1模型部署
  • 【ProtoBuf】文件编写及序列化
  • C语言实现的常见排序算法
  • AI与大数据:双剑合璧的智能革命
  • 【学习资源】时间序列数据分析方法(2)-mWDN和AutoEncoder
  • 通过BingAPI爬取Bing半个月内壁纸
  • 基于Unity引擎的网络通信架构深度解析——以NetworkConnectionController为例
  • pdf-extract-kit paddle paddleocr pdf2markdown.py(效果不佳)
  • 华住集团:第一季度盈利8.94亿元,同比增长超三成
  • 购房成本再降低!今年首次降息落地,30年期百万房贷月供将减少54元
  • 欧洲观察室|“美国优先”使欧盟对华政策面临地缘经济困境
  • 红星控股重整期间实控人被留置后续:重整草案不会修改,涉车建兴职责已调整
  • 苏丹港持续遭无人机袭击,外交部:呼吁各方保护民用设施和平民安全
  • 牛市早报|上市公司重大资产重组新规出炉,4月经济数据将公布