码迷,mamicode.com
首页 > 其他好文 > 详细

Minimum Depth of Binary Tree

时间:2015-04-09 21:42:15      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

求一棵二叉树的最低子树的高度

思路:用队列实现广度优先搜索即可,将每一层的节点放入队列,然后弹出时将下一层节点放入,遇到叶子节点时即返回当前的高度

  1. class Solution {
  2. public:
  3. int minDepth(TreeNode *root) {
  4. if (!root)
  5. return 0;
  6. int length = 0;
  7. queue<TreeNode*> qnode;
  8. qnode.push(root);
  9. TreeNode* tmpNode;
  10. while (!qnode.empty())
  11. {
  12. length++;
  13. int qsize = qnode.size();
  14. for (int i = 0; i < qsize; i++)
  15. {
  16. tmpNode = qnode.front();
  17. if (!tmpNode->left && !tmpNode->right)
  18. return length;
  19. if (tmpNode->left)
  20. qnode.push(tmpNode -> left);
  21. if (tmpNode->right)
  22. qnode.push(tmpNode->right);
  23. qnode.pop();
  24. }
  25. }
  26. return length;
  27. }
  28. };




Minimum Depth of Binary Tree

标签:

原文地址:http://www.cnblogs.com/flyjameschen/p/02d3a3aefc496afa188ab2abcdab7354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!