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

二叉树的最大深度

时间:2022-12-13 11:38:39浏览次数:56  
标签:right TreeNode 最大 val int 二叉树 深度 节点 left


题目地址(104. 二叉树的最大深度)

​https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/​

题目描述

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

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

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

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

3
/ \
9 20
/ \
15 7

返回它的最大深度 3 。

关键点

  • 记住两个要点,当遍历到的节点为空的时候返回0,当左右子树都遍历完成后,返回左右子树两者中的最大值再加1。
  • 从底部到顶部返回值得到最大深度,因此采用后序遍历比较好

代码

  • 语言支持:Java

Java Code:

/**
* 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 maxDepth(TreeNode root) {
if (root == null){
return 0;
}
int left = maxDepth(root.left);
int right = maxDepth(root.right);
return Math.max(left,right)+1;
}
}

复杂度分析

  • 时间复杂度:二叉树的最大深度_深度优先
  • 空间复杂度:二叉树的最大深度_深度优先_02


标签:right,TreeNode,最大,val,int,二叉树,深度,节点,left
From: https://blog.51cto.com/u_15911055/5933470

相关文章

  • 543. 二叉树的直径
    题目给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。分析思路和算树最大高度的那题......
  • Window版本pytorch入门深度学习环境安装与配置
    取材于​​b站视频​​一些常用的Conda命令首先你的电脑上应该有anaconda,打开anaconda终端anaconda的好处就是能够配置多个虚拟环境,方便管理与使用环境与包​​condaenv......
  • 2171. EK求最大流
    2171.EK求最大流EK算法,每次找一条路径,找到后立马返回dinic,一次可以找多条路径#include<bits/stdc++.h>usingnamespacestd;constintN=1e3+5;constintM=1e6+......
  • 使用TensorFlow Probability实现最大似然估计
    TensorFlowProbability是一个构建在TensorFlow之上的Python库。它将我们的概率模型与现代硬件(例如GPU)上的深度学习结合起来。极大似然估计最大似然估计是深度学习模......
  • 图论-堆-并查集-2503. 矩阵查询可获得的最大分数
    2503.矩阵查询可获得的最大分数DescriptionDifficulty:困难RelatedTopics:给你一个大小为mxn的整数矩阵grid和一个大小为k的数组queries。找出一个大小......
  • 深度学习炼丹-超参数设定和网络训练
    前言网络层参数使用3x3卷积使用cbr组合尝试不同的权重初始化方法图片尺寸与数据增强批量大小batchsize背景知识batchsize定义选择合适大小的batch......
  • webkit nw.js 默认 每个窗口都最大化打开
    一、前景nw.js每打开一个窗口都是默认大小,需要每个弹出窗口都是最大化窗口。二、方案根据官网给出的参数:1、编写一个待置入js,放到目录js/下,每一个打开的页面窗......
  • 【深度学习】DNN房价预测
    前言我们使用深度学习网络实现波士顿房价预测,深度学习的目的就是寻找一个合适的函数输出我们想要的结果。深度学习实际上是机器学习领域中一个研究方向,深度学习的目标是让机......
  • BZOJ4536 : 最大异或和II
    建立$n+m$个点的无向图,其中$n$个点表示输入的数列,$m$个点表示答案的$m$个二进制位。对于输入的两个数$a[i],a[j]$,若它们存在公共二进制位,则可以通过同时选某一公共位来对......
  • 平衡二叉树(java版)
    题目描述:标签:树深度优先搜索递归给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值......