剑指offer-39 二叉树的深度
来源:互联网 发布:图片放大器软件 编辑:程序博客网 时间:2024/05/11 15:09
一、二叉树或者树的问题,直接考虑广度搜索和深度搜索
二、注意判断空节点
#include <iostream>#include <cstdio>#include <cstdlib>using namespace std;struct BinnaryTreeNode{ int value; BinnaryTreeNode* left; BinnaryTreeNode* right; BinnaryTreeNode(int val) : value(val){}};int GetBinnaryTreeDepth(BinnaryTreeNode* root);void test(char* testname,BinnaryTreeNode* root,int expect);int GetBinnaryTreeDepth(BinnaryTreeNode* root){ if(root==NULL) return 0; int nleft = GetBinnaryTreeDepth(root->left); int nright = GetBinnaryTreeDepth(root->right); return nleft > nright ? (nleft+1):(nright+1);}void test(BinnaryTreeNode* root,int expect){ int result = GetBinnaryTreeDepth(root); if(result==expect) cout<<"Test passed..."<<endl; else cout<<"Test failed..."<<endl;}void Test1(){ cout<<"Test1 begins.\n"; BinnaryTreeNode* t1 = new BinnaryTreeNode(1); BinnaryTreeNode* t2 = new BinnaryTreeNode(2); BinnaryTreeNode* t3 = new BinnaryTreeNode(3); BinnaryTreeNode* t4 = new BinnaryTreeNode(4); BinnaryTreeNode* t5 = new BinnaryTreeNode(5); BinnaryTreeNode* t6 = new BinnaryTreeNode(6); t1->left = t2; t1->right = t3; t3->left = NULL; t3->right = NULL; t2->left = t4; t2->right = t5; t5->left = NULL; t5->right = NULL; t4->left = t6; t4->right = NULL; t6->left = NULL; t6->right = NULL; test(t1,4);}void Test2(){ cout<<"Test2 begins.\n"; BinnaryTreeNode* t1 = NULL; test(t1,0);}int main(){ Test1(); Test2(); return 0;}
0 0
- 剑指offer-39 二叉树的深度
- 剑指offer 39 - 二叉树的深度
- 剑指Offer 39 二叉树的深度+平衡二叉树
- 剑指offer: 二叉树的深度(树)
- 剑指Offer之二叉树的深度
- 剑指offer--二叉树的深度
- 剑指offer之二叉树的深度
- 剑指Offer之 - 二叉树的深度
- 《剑指offer》二叉树的深度
- 剑指 offer:二叉树的深度
- 剑指offer—二叉树的深度
- 剑指Offer--二叉树的深度
- 剑指offer-二叉树的深度
- 剑指offer:求二叉树的深度
- 剑指offer 38 二叉树的深度
- 剑指offer 二叉树的深度
- 剑指Offer--039-二叉树的深度
- [剑指offer]二叉树的深度
- JAVA内部类
- [Python]网络爬虫(三):异常的处理和HTTP状态码的分类
- 解决问题:启动Python时报“ImportError: No module named site”错误
- HDU ACM 2072单词数
- Java代码 实现两个二进制数的加法
- 剑指offer-39 二叉树的深度
- 人生第一次面试TCL-实习生笔试及面试经验分享
- 黑马程序员---Java之多线程
- android基础--拍照功能
- Check if a table or field exists in a database
- 文件操作 课程成绩平均分统计并排名
- 我的第一个博客,也是人生的第一篇博客
- cocos2dx 项目打包成apk
- Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】