首页 > 其他分享 >Leetcode 二叉树的最大深度

Leetcode 二叉树的最大深度

时间:2024-03-26 22:24:26浏览次数:24  
标签:node int queue maxDepth 深度 root Leetcode 二叉树

Day 11 第二题

深度优先搜索

在计算当前二叉树的最大深度时,可以先递归计算出其左子树和右子树的最大深度,然后在 \(\mathcal{O}(1)\)时间内计算出当前二叉树的最大深度。

class Solution {
    public int maxDepth(TreeNode root) {
        if(root== null){
            return 0;
        }
        int maxDepth = 1;
        maxDepth += Math.max(maxDepth(root.left),maxDepth(root.right));
        return maxDepth;
    }
}
力扣官方题解:广度优先搜索
class Solution {
    public int maxDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }
        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        // 链表末尾增加元素
        queue.offer(root);
        int ans = 0;
        while (!queue.isEmpty()) {
            int size = queue.size();
            while (size > 0) {
                // 每来到一层,去除头节点
                TreeNode node = queue.poll();
                if (node.left != null) {
                    queue.offer(node.left);
                }
                if (node.right != null) {
                    queue.offer(node.right);
                }
                size--;
            }
            ans++;
        }
        return ans;
    }
}

标签:node,int,queue,maxDepth,深度,root,Leetcode,二叉树
From: https://www.cnblogs.com/xytang-mini-juan/p/18097763

相关文章

  • Leetcode 和为k的子数组
    Day11第一题#######解题思路:两层循环,用暴力法解决(从不同起始位置开始的子数组)classSolution{publicintsubarraySum(int[]nums,intk){//和为k的子数组的个数计数器countintcount=0;for(intj=0;j<nums.length;j++){......
  • 代码随想录算法训练营day35 | leetcode 860. 柠檬水找零、406. 根据身高重建队列、452
    目录题目链接:860.柠檬水找零-简单题目链接:406.根据身高重建队列-中等题目链接:452.用最少数量的箭引爆气球-中等题目链接:860.柠檬水找零-简单题目描述:在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一......
  • 代码随想录算法训练营第二十一天|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众
    文档链接:https://programmercarl.com/LeetCode530.二叉搜索树的最小绝对差题目链接:https://leetcode.cn/problems/minimum-absolute-difference-in-bst/思路:二叉搜索树记得使用中序遍历最方便!注意是二叉搜索树,二叉搜索树可是有序的。遇到在二叉搜索树上求什么最值啊,差值之......
  • 代码随想录算法训练营第十七天|110.平衡二叉树、257.二叉树的所有路径、404.左叶子之
    文档链接:https://programmercarl.com/LeetCode110.平衡二叉树题目链接:https://leetcode.cn/problems/balanced-binary-tree/思路:这里强调一波概念:二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数......
  • LeetCode 11.盛最多的水(双指针,贪心)
    题目:思路:我们可以安排俩个指针(数组下标)放在数组的头部和尾部;每次移动高度较低的下标,判断是否为最大水量并记录;(水量=下标差乘较小高度)证明可行性:如果移动高度较高的下标,由于下标差减小,故不论后面下标对应的高度增大,不变或减小都会导致水量减小;(增大:下标差减小,较小高度......
  • 深度学习批次(batch)、迭代(iteration)、周期(epoch)、前向传播(forward propagation)
    虽然现在应该是已经熟练掌握这些基础概念的时候,但是我是鱼的记忆,上一秒的事情,下一秒就忘了,除非是重要的人的重要的事情,呜呜呜呜,我这个破脑子.还是写一下吧,直接GPT出来的(人类之光,欢呼~).以前写过一次,贴一下链接:深度学习模型训练的过程理解(训练集、验证集、测试集、batch、itera......
  • LeetCode刷题Day11(补卡)
    20.有效的括号题目链接:leetcode20.有效的括号文章讲解:代码随想录视频讲解:哔哩哔哩视频这题考察的是栈的使用,遍历字符串,如果是左括号存入栈中,如果是右括号则对比栈的头部是否为与之匹配的左括号,如果不是则返回false,最后若栈为空则正好匹配返回true,详细代码如下:cl......
  • 深度解析:邻氯苯腈市场为何成为投资新宠?
    一、行业简述   邻氯苯腈,作为一种精细化工原料,具有独特的化学结构和稳定的性质,使得它在农药、染料、医药等多个领域都有广泛的应用。这种原料的特殊性在于其结构中的氯原子和腈基团,这些特性使得邻氯苯腈能够参与到许多复杂的化学反应中,从而合成出各种具有特定功能的产品......
  • leetcode:链表的中间节点
    快慢指针快的到了末尾,慢的所指的就是中点你一开始写的时候while里面,fast.next放在前面,报错,空指针应该写在后面,对于偶数个元素的链表而言/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode......
  • 深度学习之快速配环境方法
    在学习深度学习的过程中,针对于不同的网络模型,常常需要配置与之对应的代码环境,结合互联网和师门同学的经验,这里给出了我自己最顺手的环境配置方法。参考环境配置python3.8 cuda11.3.1 cudnn8.2.1 torch1.12.0torchvision0.13.0操作步骤注:以下操作均在Anaco......