您的位置:首页 > 其它

leetcode刷题,总结,记录,备忘111

2016-04-09 21:01 369 查看
leetcode111Minimum Depth of Binary Tree

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.

Subscribe to see which companies asked this question
通过队列保存树的每个节点,使用一个变量记录当前层的节点个数,每遍历完一层深度加1,当遇到叶节点的时候返回深度即可,比较简单的题目。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int minDepth(TreeNode* root) {
if (root == NULL)
{
return 0;
}

queue<TreeNode*> qt;
qt.push(root);
int deep = 1;
int count = 1;

while (!qt.empty())
{
TreeNode * t = qt.front();
qt.pop();
count--;
if (t->left == NULL && t->right == NULL)
{
return deep;
}
if (t->left)
{
qt.push(t->left);
}
if (t->right)
{
qt.push(t->right);
}

if (count == 0)
{
count = qt.size();
deep++;
}

}

return deep;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: