剑指 offer set 17 判断一棵树是否是平衡树
2024-10-21 16:02:06
总结
1. 书上给出一个简洁代码, 说是会重复遍历.
2. 框架相同, 可以写出下面的代码
class Solution {
public:
bool ans;
int getHeight(TreeNode *root) {
if(!ans)
return 0;
if(root == NULL)
return 0; int lt = 0, rt = 0;
if(root->left&&ans) {
lt = 1+getHeight(root->left);
}
if(root->right&&ans)
rt = 1 + getHeight(root->right);
if(abs(lt-rt)>1)
ans = false;
return max(lt, rt);
} bool isBalanced(TreeNode *root) {
ans = true;
if(root == NULL)
return true;
getHeight(root);
return ans;
}
};
最新文章
- linux定制
- Zend框架设置数据库连接编码为utf8三种方法
- Session Tracking Approaches
- struts2中web.xml的配置
- 5分钟实现VS2010整合NUnit进行单元测试
- crontab任务取消发送邮件
- 【转】CSS清除浮动_清除float浮动
- How To Use Logstash and Kibana To Centralize Logs On CentOS 6
- [BZOJ 1016] [JSOI2008] 最小生成树计数 【DFS】
- linux下U盘的读取
- Hasse神舟笔记本卡logo解决,刷BIOS方法,教你修复神船
- HTML与CSS的一些知识(二)
- 阿里云使用js 实现OSS图片上传、获取OSS图片列表、获取图片外网访问地址(读写权限私有、读写权限公共);
- HDU6446 Tree and Permutation(树上DP)
- 第二章 flex输入输出
- epoll的由来
- 将url参数转为json对象
- Object-C-NSArray
- Java 常用对象-String类
- poj 3046 Ant Counting(多重集组合数)
热门文章
- C#:(问题)已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭
- 教你在Ubuntu系统下保存屏幕亮度设置
- git配置用户名邮箱
- IOS性能调优系列:使用Allocation动态分析内存使用情况
- sso单点登录研究
- MySql(三):MyISAM和InnoDB区别详解
- 深入浅出ObjC之消息 (转)
- CUGBACM Codeforces Tranning 3 题解
- atitit.D&;D drag&;drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
- Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??