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

二叉树的最大深度

时间:2022-09-25 21:25:44浏览次数:48  
标签:right 最大 遍历 二叉树 深度 root 节点 left

二叉树的最大深度

一、题目描述

给定一个二叉树,找出其最大深度。二叉树的最大深度为根节点到最远叶子节点的最长路径上的节点数。叶子节点时没有字节点的。
实例:

给定二叉树 [3,9,20,null,null,15,7],
返回:3

二、解题思路

遍历整个树,使用一个计数器每遍历一个节点加一。先遍历左子树,再遍历右子树。最终比比较左子树和右子树的值。那个大,那个就是最大深度。

三、解题方法

方法1:迭代
关于树的问题,大部分时用迭代的思路来。当节点为空时。直接返回0 即可。当不为零时给+1.递归的调用,相当与计数器。
代码实现

class Solution {
    public int maxDepth(TreeNode root) {
        if(root == null){
            return 0;
        }else{
            int right = maxDepth(root.left)+1;
            int left= maxDepth(root.right)+1;
            return  right>left?right:left;
        }
    }
}

标签:right,最大,遍历,二叉树,深度,root,节点,left
From: https://www.cnblogs.com/zjjtt/p/16728965.html

相关文章

  • mysql分组后选出最大值所在的那一行数据
    背景mysql中使用groupby进行分组后取某一列的最大值,我们可以直接使用MAX()函数来实现,但是如果我们要取最大值所在的那一行或多行(可能有多行对应的最大值都一样)那么我们需......
  • 平衡二叉树(AVL)的插入和删除
    在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是......
  • LeetCode2096 从二叉树一个节点到另一个节点每一步的方向
    LeetCode2096从二叉树一个节点到另一个节点每一步的方向最近公共祖先的变形题.#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val......
  • 二叉树遍历
    应用实例代码实现publicclassBinaryTreeDemo{ publicstaticvoidmain(String[]args){ //先需要创建一颗二叉树 BinaryTreebinaryTree=newBinary......
  • 二叉树
    数组存储方式的分析优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较......
  • 算法第二章3·7-4 最大子段和
    给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。要求算法的时间复杂......
  • 二叉树查找和删除指定结点
    二叉树查找指定的节点前序查找的思路1.先判断当前节点的no是否等于要查找的2.如果是相等,则返回当前节点3.如果不等,则判断当前节点的左子节点是否为空,如果不为空,则递归......
  • LeetCode 239. 滑动窗口最大值
    终于做了一道Hard...依旧是感觉差一点做出来,哎参考随想录思路题目给你一个整数数组nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到......
  • 深度学习:计算机视觉
    1、图像增广图像增广(imageaugmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。图像增广的另一种解释是,随机改变训......
  • BM93,BM94接雨水问题(最大水量maxArea和总水量trapWater问题)(双指针)
    总水量问题BM94trapWater()描述给定一个整形数组arr,已知其中所有的值都是非负的,将这个数组看作一个柱子高度图,计算按此排列的柱子,下雨之后能接多少雨水。(数组以外的......