zoukankan      html  css  js  c++  java
  • 111. 二叉树的最小深度

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

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

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

    示例:

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

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree

    public class MinimumDepthofBinaryTree {
        static class TreeNode {
            int val;
            TreeNode left;
            TreeNode right;
            TreeNode (int x) {
                val = x;
            }
        }
        
        public int minDepth(TreeNode root) {
            if(root == null) {
                return 0;
            }
            int leftDepth = minDepth(root.left);
            int rightDepth = minDepth(root.right);
            //修改返回条件,如果某节点只有一个孩子,此时非叶子节点,所以返回的应该是有孩子的那一部分,且加1(包括该节点)
            if (leftDepth == 0 || rightDepth == 0) {
                return leftDepth + rightDepth + 1;
            }
            return Math.min(leftDepth, rightDepth) + 1;
        }
    }
    无论有多困难,都坚强的抬头挺胸,人生是一场醒悟,不要昨天,不要明天,只要今天。不一样的你我,不一样的心态,不一样的人生,顺其自然吧
  • 相关阅读:
    Proxies
    内置的Symbol值
    css兼容问题大全
    Jquery ajax方法详解
    Ajax笔记
    Jquery笔记
    Css3笔记
    JavaScript学习笔记
    10 款优秀的文件管理插件推荐
    初始化和预装载servlet与JSP页面
  • 原文地址:https://www.cnblogs.com/xiyangchen/p/11100544.html
Copyright © 2011-2022 走看看