zoukankan      html  css  js  c++  java
  • 【leetcode】Minimum Depth of Binary Tree

    Question : 

    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.

    Anwser 1 :   

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int minDepth(TreeNode *root) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            if (root == NULL) return 0;
            
            int left = minDepth(root->left) + 1;
            int right = minDepth(root->right) + 1;
            
            // leaf
            if (left == 1 || right == 1)
                return left > right ? left : right;
                
            return left < right ? left : right;
        }
    };


    Anwser 2 :    

    /**
     * Definition for binary tree
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int minDepth(TreeNode *root) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            if (root == NULL) return 0;
            
            int depth = 1;
            queue <TreeNode *> current;
            queue <TreeNode *> next;
            current.push(root);
        
            while (!current.empty())
            {
                while (!current.empty())
                {
                    TreeNode *n = current.front();
                    current.pop();
                    if (n->left==NULL && n->right == NULL) return depth;
                    if (n->left) next.push(n->left);
                    if (n->right) next.push(n->right);
                }
                
                queue <TreeNode *> t;   // init queue
                current = next;
                next = t;
                depth += 1;
            }
            return depth;
        }
    };


  • 相关阅读:
    windows 7系统搭建PHP网站环境
    本机搭建PHP环境全教程(图文)
    cmd不是内部命令解决方法
    [Tex学习笔记]章节用罗马字母编号
    丁伟岳院士逝世 享年70岁
    2014年度江西省青年科学家培养对象名单(共36名)
    Alexander Grothendieck去世了
    [詹兴致矩阵论习题参考解答]序言
    2014-2015第一学期听课安排
    一个老和尚的真言
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3053799.html
Copyright © 2011-2022 走看看