LCR 176. 判断是否为平衡二叉树

解题思路:

java 复制代码
class Solution {
    public boolean isBalanced(TreeNode root) {
        return recur(root) != -1;
    }

    private int recur(TreeNode root) {
        if (root == null) return 0;
        int left = recur(root.left);
        if(left == -1) return -1;
        int right = recur(root.right);
        if(right == -1) return -1;
        return Math.abs(left - right) < 2 ? Math.max(left, right) + 1 : -1;
    }
}
相关推荐
Tansmjs2 分钟前
C++编译期数据结构
开发语言·c++·算法
金枪不摆鳍2 分钟前
算法-字典树
开发语言·算法
diediedei8 分钟前
C++类型推导(auto/decltype)
开发语言·c++·算法
索荣荣11 分钟前
Java动态代理实战:从原理到精通
java·开发语言
兩尛15 分钟前
c++的数组和Java数组的不同
java·开发语言·c++
roman_日积跬步-终至千里24 分钟前
【Java并发】多线程/并发问题集
java·开发语言
皮皮哎哟25 分钟前
深入浅出双向链表与Linux内核链表 附数组链表核心区别解析
c语言·数据结构·内核链表·双向链表·循环链表·数组和链表的区别
独断万古他化28 分钟前
【算法通关】前缀和:从一维到二维、从和到积,核心思路与解题模板
算法·前缀和
loui robot31 分钟前
规划与控制之局部路径规划算法local_planner
人工智能·算法·自动驾驶
格林威37 分钟前
Baumer相机金属焊缝缺陷识别:提升焊接质量检测可靠性的 7 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·视觉检测·堡盟相机