zoukankan      html  css  js  c++  java
  • LeetCode111. Minimum Depth of Binary Tree

    题目 

    给定一个二叉树,找出其最小深度。

    最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

    说明: 叶子节点是指没有子节点的节点。

    示例:

    给定二叉树 [3,9,20,null,null,15,7],

        3
       / 
      9  20
        /  
       15   7

    返回它的最小深度  2.


    考点

    dfs.

    递归


    思路


    代码

    1.递归

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int minDepth(TreeNode* root) {
            //root==nullptr,0
            if(!root)
                return 0;
            //left==nullptr->f(right)+1
            if(!root->left) return 1+minDepth(root->right);
            //right==nullptr->f(left)+1
            if(!root->right) return 1+minDepth(root->left);
            //none of above==nullptr->min(f(left),f(right))+1
            return 1+min(minDepth(root->left),minDepth(root->right));
        }
    };
    

    问题

  • 相关阅读:
    1、Python的初识与简介
    解密解密
    python看是32位还是64
    linux实战一段,安装python3(centos)
    前段技巧
    django后端safe和前端safe的方法
    测试
    python小知识整理
    ajax格式
    111
  • 原文地址:https://www.cnblogs.com/lightmare/p/10416151.html
Copyright © 2011-2022 走看看