二叉树的最小深度

此博客链接:https://www.cnblogs.com/ping2yingshi/p/12924526.html

二叉树的最小深度

题目链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/

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

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

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

示例:

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

3
/ \
9 20
/ \
15 7
返回它的最小深度  2.

题解:

        思路:这题和二叉树的最大深度思路一样。

                 1.定义一个变量保存最小值。

                 2.递归二叉树,选择左子树和当前最小值小的。

                 3.递归二叉树,选择右子树和当前最小值小的。

代码如下:

class Solution {
    public int minDepth(TreeNode root) {
      if(root==null)
        return 0;
    if(root.right==null&&root.left==null)
        return 1;
   
    int min=Integer.MAX_VALUE;
    if(root.left!=null)
       min= Math.min(minDepth(root.left),min);
      // min_depth = Math.min(minDepth(root.left), min_depth);
     if(root.right!=null)
        min=Math.min(minDepth(root.right),min);  
            return min+1;
    }

}

 

                 1.

posted @ 2020-05-20 16:45  萍2樱释  阅读(177)  评论(0编辑  收藏  举报