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


  • 相关阅读:
    axb_2019_fmt32 盲打和格式化字符串
    ciscn_2019_final_3 需要避开当前free的chunk的下一个chunk不能超过arena的边界
    xdctf2015_pwn200
    valarray类
    Mysql 常用命令.
    如何处理IO
    等号两边自动添加括号
    Request JSON
    开机小脚本自动打开sublime text 和git-bash
    git 同步勾子
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3053799.html
Copyright © 2011-2022 走看看