【Leetcode刷题篇】leetcode110 平衡二叉树
发布日期:2021-06-29 15:33:29
浏览次数:2
分类:技术文章
本文共 847 字,大约阅读时间需要 2 分钟。
题目:给定一个二叉树,判断它是否是高度平衡的二叉树。
本题中,一棵高度平衡二叉树定义为:
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。
思路1:自顶向下
/** * 自顶向下 * @param root * @return */ public boolean isBalanced(TreeNode root) { if(root==null) return true; return Math.abs(height(root.left)-height(root.right))<=1 && isBalanced(root.left)&&isBalanced(root.right); } // 求高度 private int height(TreeNode root) { if(root==null) return 0; return 1 + Math.max(height(root.left),height(root.right)); }
思路2:自底向上
/** * 自底向上 * @param root * @return */ public boolean isBalanced2(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; }
转载地址:https://codingchaozhang.blog.csdn.net/article/details/109513846 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月27日 01时48分31秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于 Keil MDK 移植 RT-Thread Nano
2019-04-29
【报名截至今晚】12月14日深圳嵌入式与音频开发专题会议预告
2019-04-29
移植 RT-Thread Nano 到 RISC-V
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(二)
2019-04-29
在 RT-Thread Nano 上添加控制台与 FinSH
2019-04-29
一站式开发工具:RT-Thread Studio 正式发布
2019-04-29
留言有礼|谢谢你悄悄点了小星星,让我们跃居GitHub RTOS Star榜第一
2019-04-29
功能更新!C 函数也能在 MicroPython 中被调用啦
2019-04-29
东软载波携ES32+RT-Thread走进海尔集团
2019-04-29
今晚8点直播预告:RT-Thread Studio等相关主题答疑
2019-04-29
物联网 20 年简史大揭秘!
2019-04-29
开源项目|RT-Thread 软件包应用作品:水墨屏桌面台历
2019-04-29
珠联璧合!基于i.MX RT和RT-Thread的物联网云接入方案
2019-04-29
基于RTT-MicroPython制作自带BGM的新型肺炎晴雨表
2019-04-29
开源项目|RT-Thread 软件包应用作品:小闹钟
2019-04-29
在 RT-Thread Studio 上使用 RT-Thread Nano
2019-04-29
开源项目|软件包应用作品:通用物联网系统平台
2019-04-29