【LeetCode-简单题】110. 平衡二叉树

文章目录

题目

方法一:后序递归

递归遍历的同时判断是否是平衡二叉树,如果不是,就置为-1,如果是 就正常做递归求最大深度

参考图解网址
判断平衡二叉树

java 复制代码
class Solution {
    public boolean isBalanced(TreeNode root) {
         return  dfs(root) !=-1;
    }
    public int dfs(TreeNode root){
        if(root == null) return 0;
        
        int left = dfs(root.left);
        if(left==-1) return -1;// 左子树高度差大于1,return -1表示已经不是平衡树了  就无需去递归右子树了
        int right = dfs(root.right);
        if(right==-1) return -1;// 右子树高度差大于1,return -1表示已经不是平衡树了

        if(Math.abs(left-right)>1) return -1;  // 左右子树高度差大于1,return -1表示已经不是平衡树了
        else return Math.max(left,right)+1;
    }
}
相关推荐
罗湖老棍子5 小时前
【例 2】选课(信息学奥赛一本通- P1576)
算法·树上背包·树型动态规划
每天要多喝水5 小时前
动态规划Day33:编辑距离
算法·动态规划
每天要多喝水5 小时前
动态规划Day34:回文
算法·动态规划
weixin_477271695 小时前
马王堆帛书《周易》系统性解读(《函谷门》原创)
算法·图搜索算法
AomanHao5 小时前
【ISP】基于暗通道先验改进的红外图像透雾
图像处理·人工智能·算法·计算机视觉·图像增强·红外图像
We་ct5 小时前
LeetCode 226. 翻转二叉树:两种解法(递归+迭代)详解
前端·算法·leetcode·链表·typescript
大熊背5 小时前
APEX系统中为什么 不用与EV0的差值计算曝光参数调整量
人工智能·算法·apex·自动曝光
REDcker5 小时前
HDR Vivid 技术介绍
数据库·算法·视频·sdr·屏幕·显示技术·dhr
ab1515176 小时前
2.18完成109、112、113
算法
yuezhilangniao6 小时前
程序人生-杂谈-简单对比一下 学霸和linux科学设计
linux·程序人生·职场和发展