笔试题:判断一个树是不是平衡二叉树
2015-09-06 01:01
344 查看
class Solution { public: int length(TreeNode* t) { if(t==NULL)return 0; return length(t->left)>length(t->right)?length(t->left)+1:length(t->right)+1; } bool IsBlance(TreeNode* t) { int len1 = length(t->left); int len2 = length(t->right); int temp = len1>len2?len1-len2:len2-len1; return temp<=1; } bool IsBalanced_Solution(TreeNode* pRoot) { queue<TreeNode*> Q; if(pRoot==NULL)return true; Q.push(pRoot); while(Q.empty()==false) { TreeNode* p =Q.front(); if(p->left!=NULL) Q.push(p->left); if(p->right!=NULL) Q.push(p->right); if(IsBlance(p)==false)return false; Q.pop(); } return true; } };
相关文章推荐
- poj2728 Desert King(最优比率生成树)
- http-url那些事
- Android控件拖动的实现
- java的十个调试技巧
- HDU 4445 数学-抛物运动
- 阳江游记
- 寻找质数之和
- 91 POST JSON 多值参数 获得mineType
- uva 11093
- Red and Black_ POJ 1979
- Get Started with the A* Pathfinding Project
- Java学习笔记 20150905
- iOS多线程--进程和线程
- sicily 1564. HOUSING
- Missing artifact com.oracle:ojdbc14:jar:10.2.0.3.0
- 只允许输入数字和小数点
- MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
- VS2015编写程序不兼容XP解决办法可用。留档
- Java中实现对象的比较
- Centos 上 mantis 安装