LeetCode:Minimum Depth of Binary Tree
2015-06-26 08:20
393 查看
标题叙述性说明:
Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
思路:採用BFS遍历二叉树,在遍历的过程中记录每一个节点的深度,当遇到第一个叶子结点时返回当前叶子结点的深度。
代码:
Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
思路:採用BFS遍历二叉树,在遍历的过程中记录每一个节点的深度,当遇到第一个叶子结点时返回当前叶子结点的深度。
代码:
int Solution::minDepth(TreeNode *root) { int min_height = 0; queue<pair<TreeNode *,int> > treeNode_queue; if(root == NULL) return 0; treeNode_queue.push(pair<TreeNode *,int>(root,1)); while(!treeNode_queue.empty()) { pair<TreeNode *,int> node = treeNode_queue.front(); treeNode_queue.pop(); if(node.first->left == NULL && node.first->right == NULL) { min_height = node.second; break; } if(node.first->right != NULL) treeNode_queue.push(pair<TreeNode *,int>(node.first->right,node.second+1)); if(node.first->left != NULL) treeNode_queue.push(pair<TreeNode *,int>(node.first->left,node.second+1)); } return min_height; }
相关文章推荐
- mac 下有些工具 app 推荐
- c# label的内容显示不全
- Linux-中断和中断处理
- 连接Oracle的几种方式
- Android布局中的位置控制属性
- [C++ primer]第五章笔记-语句
- 《重构--改善既有代码的设计》--在对象之间搬移特性(7)
- g++编C++11/C++0x遇到的问题
- 解决 debian8 中 /etc/default/docker 无效问题
- 在电脑上装ubuntu12.04系统,内核文件是那个?
- 赫夫曼树和最小生成树的区别是什么???它们一样吗??
- CInstantCameraParams_Params
- linux c 利用指针将函数传出参数的值
- SQL Server 备份简述
- SQL Server 备份简述
- Java设置环境变量
- UVa 10188 - Automated Judge Script
- [nio]dawn的基本概念
- vs2013 Matlab引擎 丢失libeng.dll
- 压缩与归档