zoukankan      html  css  js  c++  java
  • LeetCode:Minimum 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.


    思路:採用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终端运行java程序
    Mac上csv导入mysql提示错误[Error Code] 1290
    Mac终端使用mysql
    将spark默认日志log4j替换为logback
    Cocos2d-x 3.x部署到安卓
    Cocos2d-x 3.0 场景切换
    visual studio 未将对象引用设置到对象的实例
    C++ list用法
    减而治之
    递归
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4601438.html
Copyright © 2011-2022 走看看