首页 > 其他分享 >刷刷刷 Day 16 | 111. 二叉树的最小深度

刷刷刷 Day 16 | 111. 二叉树的最小深度

时间:2023-01-20 20:47:16浏览次数:64  
标签:return 16 111 二叉树 深度 null root 节点

111. 二叉树的最小深度

LeetCode题目要求

给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明:叶子节点是指没有子节点的节点。

图

示例

输入:root = [3,9,20,null,null,15,7]
输出:2
解题思路

与求最大深度不同的是,不能直接找最大值,而是要注意,有可能根节点无 左或右 子节点。所以会出现计算错误的情况
所以应该根据节点判断,没有了叶子节点时,才计算深度

上代码,递归

class Solution {
    public int minDepth(TreeNode root) {

        if (root == null) {
            return 0;
        }

        int leftDepth = minDepth(root.left);
        int rightDepth = minDepth(root.right);

        if (root.left == null) {
            return rightDepth + 1;
        }

        if (root.right == null) {
            return leftDepth + 1;
        }

        return Math.min(leftDepth, rightDepth) + 1;
    }
}

附:学习资料链接

标签:return,16,111,二叉树,深度,null,root,节点
From: https://www.cnblogs.com/blacksonny/p/17063209.html

相关文章

  • 刷刷刷 Day 16 | 104. 二叉树的最大深度
    104.二叉树的最大深度LeetCode题目要求给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节......
  • 刷刷刷 Day | 101. 对称二叉树
    101.对称二叉树LeetCode题目要求给你一个二叉树的根节点root,检查它是否轴对称。示例输入:root=[1,2,2,3,4,4,3]输出:true解题思路通过分别遍历左右两个子树......
  • 刷刷刷 Day 15| 226. 翻转二叉树
    226.翻转二叉树LeetCode题目要求给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点示例输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]解题思路基本......
  • 刷刷刷 Day15 | 102. 二叉树的层序遍历
    102.二叉树的层序遍历LeetCode题目要求给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例输入:root=[3,9,20,null,null,1......
  • 刷刷刷 Day 14| 二叉树的遍历
    144.二叉树的前序遍历LeetCode题目要求给你二叉树的根节点root,返回它节点值的前序遍历。示例输入:root=[1,null,2,3]输出:[1,2,3]解题思路最重要的要明白......
  • 树,森林与二叉树的转换复习
    普通的树,结构太多,研究起来也很复杂。但是依据树的孩子兄弟表示法,可以将普通的树,转换为二叉树,就方便很多。转换步骤:1,加线:在所有兄弟之间连线2,去线:对树中每个结点,只保留它......
  • 线索二叉树
    线索二叉树的实现内涵,一棵n个结点的树中一定会存在n+1个空指针域,将此指针域给利用起来,实现指向前驱或后继。其线索二叉树,等于把一颗二叉树转化为一个双向链表。对二叉树......
  • 二叉树的最大宽度--google面试遇到过,他是要求求解所有路径path
    543.二叉树的直径难度简单1221收藏分享切换为英文接收动态反馈给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。......
  • 【DFS】LeetCode 951. 翻转等价二叉树
    题目链接951.翻转等价二叉树思路如果二叉树root1,root2根节点值相等,那么只需要检查他们的孩子是不是相等就可以了。如果root1或者root2是null,那么只有在他们都......
  • Servlet16 - mvc优化
    mvc优化一个项目通常有许多xxServlet类,比如AddServlet、DelServlet、EditServlet、IndexServlet、UpdateServlet等等,这些类中实现的方法有许多相同的对象,相同的参数......