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;
    }
    


  • 相关阅读:
    python高级编程
    django笔记
    sublime ide
    python3 django mysql
    python win
    linux时区设置
    在实际应用中如何实现切圆角的功能
    display和visiblity在应用中使用哪个好
    看懂UML类图和时序图
    解决Xcode7.2真机调试出现:The account “” has no team with ID “”
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4601438.html
Copyright © 2011-2022 走看看