欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

111二叉树的最小深度

程序员文章站 2022-05-20 19:24:29
...

题目描述

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

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

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

思路分析

二叉树的题,基本都能用递归解答,基础模板就是前中后序遍历。基于此,进行分析,递归终止的条件是什么?一次递归中要进行什么操作?递归想要返回什么信息?

代码实现

    public int minDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }
        return process(root, 1);
    }


    public int process(TreeNode root, int depth) {
        if (root == null) {
            return Integer.MAX_VALUE;
        }
        if (root.left == null && root.right == null) {
            return depth;
        }
        int left = process(root.left, depth + 1);
        int right = process(root.right, depth + 1);
        return Math.min(left, right);
    }
相关标签: leetcodeBinaryTree