LeetCode OJ-- Balanced Binary Tree ***
2024-08-26 00:48:45
https://oj.leetcode.com/problems/balanced-binary-tree/
判断一个二叉树,是否为平衡的。如果是平衡的,则它的每个子树的左右子树高度差不大于1.
递归
但是有两个值,在高层都需要知道。一个是子树是否为二叉树的 bool,一个是子树的高度。所以,一个作为返回值,一个作为引用给传到上面来。
class Solution {
public:
bool isBalanced(TreeNode *root) {
if(root == NULL)
return true;
int p;
return getDepth(root,p);
} bool getDepth(TreeNode *root, int &depth)
{
if(root == NULL)
{
depth = ;
return true;
} if(root->left == NULL && root->right == NULL)
{
depth = ;
return true;
} int l, r;
if(getDepth(root->left, l) == false)
return false;
if(getDepth(root->right, r) == false)
return false; if(abs(l-r)>)
return false;
else
{
//此时,depth需要传到上层去
depth = max(l,r) + ;
return true;
}
}
};
最新文章
- MVC5+EF6 入门完整教程十
- 1-13 代理ARP和RARP
- maven会报Could not transfer artifact xxx错误
- Head First 设计模式 --3 装饰者模式 开闭原则
- Orchard Platform v1.8 发布
- ADODB.Connection 错误 ‘800a0e7a’ 未找到提供程序
- Excel操作类
- js,replace() 和 正则表达式(regular expression)
- js正则表达式之解析——URL的正则表达式
- TQ2440开发板网络配置方式
- MBProgressHUD not showing
- FragmentStatePagerAdapter.notifyDataSetChanged不刷新页面的解决的方法
- delphi 回调函数
- 菜鸟学习spring IOC有感
- 放弃阿里云主机,选择高性价比Vultr VPS免备案
- Linux显示一行显示列总计
- Java和Flex整合报错(五)
- shell脚本学习- 传递参数
- css中display:none与visibility: hidden的区别
- 加载 AssetBundle 的四种方法
热门文章
- python网络-多任务实现之协程(27)
- spring boot 设置tomcat post参数限制
- ListNode Java创建链表
- 笔记-编程-IO模型
- Python中函数参数类型和参数绑定
- .net core 项目加载提示项目文件不完整缺少预期导入的解决办法
- centos使用--vsftpd配置
- Robotium接入到Jenkins持续集成自动化测试
- Xmanager用法(export DISPLAY=客户端IP:0.0)
- jmeter配置分布式调度:远程启动其他机器实现多台pc一起并发