leetcode 110. 平衡二叉树
难度:简单
频次:61
题目:
给定一个二叉树,判断它是否是高度平衡的二叉树。
本题中,一棵高度平衡二叉树定义为:
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。
解题思路:算深度+递归
注意
- 这里算深度的递归函数,其实跟104 二叉树的最大深度的拆分树的递归版本一行,基本一字不差。
- 在主函数里就两个东西
- 判断是否为空,为空返回true
- 判断是否符合三个条件
- 当前子树是否符合高度差为1
- 左子树是否符合
- 右子树是否符合
代码
/*** Definition for a binary tree node.* public 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) {if(root==null) return true;//判断是否平衡,任意一颗左子树跟右子树之间的高度差不超过1//也就是判断3个条件:当前子树是否符合,左子树是否符合,右子树是否符合return Math.abs(depth(root.left)-depth(root.right))<2&&isBalanced(root.left)&&isBalanced(root.right);}public int depth(TreeNode root){if(root==null) return 0;int left=depth(root.left);int right=depth(root.right);return Math.max(left,right)+1;}
}
leetcode 110. 平衡二叉树相关推荐
- LeetCode 110. 平衡二叉树(Balanced Binary Tree) 15
110. 平衡二叉树 110. Balanced Binary Tree 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树 ...
- LeetCode 110. 平衡二叉树思考分析
题目 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1. 示例 1: 给定二叉树 [3,9,20,null ...
- 39. Leetcode 110. 平衡二叉树 (二叉树-二叉树性质)
给定一个二叉树,判断它是否是高度平衡的二叉树.本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 .示例 1:输入:root = [3,9,20,null, ...
- [leetcode]110.平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 . 示例 1: 输入:root = [3,9,20,n ...
- LeetCode 110平衡二叉树-简单
给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 . 示例 1: 输入:root = [3,9,20,n ...
- LeetCode 110. 平衡二叉树(二叉树高度)
1. 题目 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1. 示例 1: 给定二叉树 [3,9,20,n ...
- 49 - 算法 - LeetCode 110 平衡二叉树 - 求二叉树的高度 -双重递归
// 求二叉树的高度函数 nullptr为0 然后累加 +1 return left-right // 结论都还是递归 当前状态 多加了一个递归求高度 双重递归 class Solution {pub ...
- Leetcode 110.平衡二叉树
Time: 20190901 Type: Easy 题目描述 思路 DFS遍历时判断是否满足平衡树的性质,如果不满足返回-1,直接截断计算. 代码 # Definition for a binary ...
- 2022-5-4 Leetcode 110.平衡二叉树
这道题需要用到两个函数: 两个函数的处理逻辑分别是: 1)求树的高度 2)比较树的高度是否符合条件 /*** Definition for a binary tree node.* struct Tr ...
最新文章
- OSPF:LSA Type-7 to Type-5 转发地址抑制(实验)
- java应用的优化【转】
- 基于Python实现对各种数据文件的操作
- cypress 的错误消息 - the element has become detached or removed from the dom
- 纯C++创建Windows窗体(理解WinMain()与WndProc())
- 【全网最全】一文搞定 Linux 压缩、解压哪些事儿
- SpringMVC(3):DispatcherServlet详解
- 让OpenShift Serivce Mesh自动对服务注入sidecar
- JavaScript 刷题一
- 支持Flash和JavaScript的图表控件FusionWidgets
- 计算机编程思想 —— 缓存
- tensorflow版本1.11.0
- 清华大学计算机专业在职博士吧,清华大学在职博士含金量高吗?
- SVN修改服务器中的文件夹名称
- mac怎么无线打印机连接到服务器,Mac如何连接打印机-Mac连接打印机教程 - 河东软件园...
- 1024程序员节Bilibili电脑8位密码谜底
- 雷军和董明珠的赌局真的输了吗?其实我们都想错了
- rrpp协议如何修改_产品技术-RRPP技术介绍-新华三集团-H3C
- oracle 统计同比 环比,oracle求同比,环比函数(LAG与LEAD)的详解
- AMD发布22.11.1驱动,支持《使命召唤:战区2.0》
热门文章
- 数学:统计:基本概念
- Codeforces937D Sleepy Game
- 今天是周一,又是热的天气笼罩。
- unity, 由5.2.1f1升级到5.3.5f1,2d物理不正常解法
- 简单XML文件C#操作方法
- 实现人脸识别“干货”
- 【Linux】开源分布式存储系统:GlusterFS
- linux awk命令详解,使用system来内嵌系统命令,批量github,批量批下载视频, awk合并两列...
- 微软代码签名证书使用指南
- TikTok游戏话题浏览上涨,预示出海新机会