LeetCode 104. Maximum Depth of Binary Tree
2016-02-11 11:04
295 查看
题意:求一棵二叉树的高度
思路:这里要说一下非递归的写法,就是bfs逐层遍历整棵二叉树,当遍历完一层深度就加一,这里也用到了queue的FIFO特性。
递归:
非递归:
思路:这里要说一下非递归的写法,就是bfs逐层遍历整棵二叉树,当遍历完一层深度就加一,这里也用到了queue的FIFO特性。
递归:
class Solution { public: int maxDepth(TreeNode* root) { if(root == NULL) return 0; return max(maxDepth(root->left) + 1, maxDepth(root->right) + 1); } };
非递归:
class Solution { public: int maxDepth(TreeNode* root) { if(root == NULL) return 0; queue<TreeNode *> Q; Q.push(root); int curDeepNum = 1; int depth = 0; while(!Q.empty()){ TreeNode *curNode = Q.front(); Q.pop(); if(curNode->left != NULL) Q.push(curNode->left); if(curNode->right != NULL) Q.push(curNode->right); if(--curDeepNum == 0){ depth++; curDeepNum = Q.size(); } } return depth; } };
相关文章推荐
- poj 2750 Potted Flower(线段树+动态规划)
- 变频器直流母线电路示意图(转载)
- 7.屏幕适配
- 母线的种类与作用是什么(转)
- 信息安全----openssl
- 编写程序将2000年以内的平年闰年分开并分别计算个数
- 分布式事务的管理--atomikos
- 数的子结构
- 数组指针面试题
- ubuntu 下安装 QQ
- 线性方程组解法
- Unity-官方教程:我如何制作一个天空盒?
- opengl与dx
- 【NOI97】最优乘车
- The Java™ Tutorials — Concurrency :Interrupts 中断
- Mac OS的版本
- UVa 133 The Dole Queue
- 大数据 IMF 传奇 困扰很久的问题解决!ecliplse 远程提交程序到虚拟机 hadoop集群 ,ecliplse 没有显示输出 的问题解决!
- weblogic生成和配置SSL证书
- 序列化 Activity之间进行数据传输 List<Object> Parcelable serializable两种方式