刷题专栏(九):二叉树的最小深度

简介: 刷题专栏(九):二叉树的最小深度

前言

今天我们还是来看关于数据结构二叉树的题目,充分的了解二叉树。

《二叉树的最小深度》这道题的难度级别属于简单级别,也就是基本的操作类型的题目。

image.png

算法题:二叉树的最小深度

从题目的描述来看,我们可以获取每一个节点不为空的路径,直到当前节点的左右子节点都为空时,才算得上是终止,此时获得的深度层数和其他分支的比较后,得到最小的一个值,就是我们最后要的结果值。

在解题的过程中,还要考虑两个特殊的情况。

第一,判断该节点是否为空,如果为空的话,自然也就是0了。

第二,判断两个子节点是否都为空,如果都为空的情况,那也就不用继续下去了,因为当前节点就是最底层的了。

代码展示

本次代码使用的是递归方式不断递归到最后一个符合要求的节点,并且得出最小的终止层数。

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int minDepth(TreeNode root) {
        //为空为0
        if (root == null) {
            return 0;
        }
        //有一侧为空直接输出1
        if (root.left == null && root.right == null) {
            return 1;
        }
        int z = 10001;
        if (root.left != null) {
            z = Math.min(minDepth(root.left), z);
        }
        if (root.right != null) {
            z = Math.min(minDepth(root.right), z);
        }
        return z + 1;
    }
}

执行结果:

第一次理解错了题目,失败了一次。

很不理想,但是这和官方题解思路是一样的,只能说更多的牛人在前面。

image.png

总结

跟我一起说,遇到处理二叉树,那就是用递归最好了,欢迎大家关注我的刷题专栏。

目录
相关文章
|
3月前
leecode刷题 二叉树最小深度
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。叶子节点是没有子节点的节点。如果一个子树为空,则需考虑另一子树的高度。 示例 1:输入:root = [3,9,20,null,null,15,7],输出:2。示例 2:输入:root = [2,null,3,null,4,null,5,null,6],输出:5。提示:树中节点数的范围在 [0, 105] 内,-1000 <= Node.val <= 1000。
56 9
|
9月前
|
算法
【经典LeetCode算法题目专栏分类】【第7期】快慢指针与链表
【经典LeetCode算法题目专栏分类】【第7期】快慢指针与链表
|
9月前
|
存储 缓存 算法
LeetCode力扣题目111:多种算法对比实现二叉树的最小深度
LeetCode力扣题目111:多种算法对比实现二叉树的最小深度
|
10月前
leetcode代码记录(二叉树的最小深度
leetcode代码记录(二叉树的最小深度
35 0
|
10月前
|
算法
刷题专栏(六):二叉树的最大深度
刷题专栏(六):二叉树的最大深度
68 0
|
10月前
|
算法
刷题专栏(十二):翻转二叉树
刷题专栏(十二):翻转二叉树
77 0
|
算法
代码随想录算法训练营第十二天 | LeetCode 239. 滑动窗口最大值、LeetCode 347. 前 K 个高频元素
代码随想录算法训练营第十二天 | LeetCode 239. 滑动窗口最大值、LeetCode 347. 前 K 个高频元素
47 0
|
机器学习/深度学习 算法
2022 数据结构与算法《王道》学习笔记 (十二)树和二叉树 详细总结
2022 数据结构与算法《王道》学习笔记 (十二)树和二叉树 详细总结
|
算法
LeetCode每日一题--二叉树的最小深度
LeetCode每日一题--二叉树的最小深度
161 0
【LeetCode】111. 二叉树的最小深度(BFS 解题套路框架,要会默写)
【LeetCode】111. 二叉树的最小深度(BFS 解题套路框架,要会默写)
【LeetCode】111. 二叉树的最小深度(BFS 解题套路框架,要会默写)