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

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

说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3
/
9 20
/
15 7
返回它的最大深度 3 。

思路:
首先这里是求二叉树的最大深度,如何求呢?
深度 = 根节点 + 左子树(右子树)最大深度
depth = Max(left , right) + 1
depth就是这个最大深度

1.先判断,如果根节点为空,则返回
2.否则,用递归
左子树深度 = 递归 ,参数用左子树(root.left)
右子树深度 = 递归 ,参数用右子树(root.right)
最后返回 Max(left , right) + 1
Java代码实现:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public int maxDepth(TreeNode root) {if(root == null) {return 0;} else {int left = maxDepth(root.left);int right = maxDepth(root.right);return Math.max(left, right) + 1;}}
}

二叉树-二叉树的最大深度(递归 )相关推荐

  1. 二叉树 2.0 -- 非递归遍历

    二叉树递归遍历存在的问题 如果我们的二叉树只有左子树,而且树的高度还很深的时候,这个时候递归调用遍历的时候,栈帧空间开辟的较大,很可能造成栈溢出.但是我们一个程序中,为堆分配的空间要比栈大的多,这个时 ...

  2. 二叉树求深度的递归的详细分析

    >数据结构:typedef struct BINODE{TELEMETYPE data;struct BINODE *lchild,*rchild;}BiNode,*BiTtree;>递归 ...

  3. 二叉树的几种递归和非递归式遍历:

    二叉树的几种递归和非递归式遍历: 1 #include <fstream> 2 #include <iostream> 3 4 using namespace std; 5 6 ...

  4. 二叉树的遍历 (递归和非递归实现)

    二叉树的遍历 (递归实现) 用C++实现二叉树的"先根遍历"存储. 用C++实现二叉树的"先根遍历"."中根遍历"."后根遍历&q ...

  5. 二叉树的遍历(递归,非递归,Morris)

    二叉树的遍历 目录 递归遍历 非递归遍历 Morris遍历 1. 递归遍历 递归版遍历只要当前节点不为null,就可以三次回到当前节点. public static void preOrderRecu ...

  6. linux 递归创建线程,[linux]二叉树的建立及其递归遍历(C语言实现)

    #二叉树的特点: 每一个节点最多有两棵子树,所以二叉树中不存在度大于2的节点,注意,是最多有两棵,没有也是可以的 左子树和右子树是有顺序的,次序不能颠倒,这点可以在哈夫曼编码中体现, 顺序不同编码方式 ...

  7. 数据结构(六)二叉树的遍历(递归非递归方法)

    数据结构(六)二叉树的遍历(递归非递归方法) 一.递归方法 1.先序遍历 void PreOrder(BiTree T) {visit(T);PreOrder(T->LChild)PreOrde ...

  8. 二叉树的遍历(递归、栈、morris莫里斯算法)三种方法

    二叉树的前序遍历 递归 class TreeNode{TreeNode left;TreeNode right;int val;public TreeNode(){}public TreeNode(i ...

  9. 线索二叉树中序非递归线索化以及递归线索化构建和遍历算法

    引文 大部分教材给出了 线索二叉树的中序递归线索化以及中序遍历,但是没给出非递归,现在网上大部分非递归算法代码各种条件判断写的比较离谱,所以干脆自己总结了一个清晰的.线索二叉树中序非递归线索化以及递归 ...

  10. Java 二叉树基础概念(递归迭代)

    目录 1. 树型结构 1.1概念 1.2 概念(重要) 2. 二叉树(重点) 2.1 概念 2.2 二叉树的基本形态 2.3 两种特殊的二叉树 2.4 二叉树的性质 a.满二叉树 b.完全二叉树 2. ...

最新文章

  1. 图像处理工具包ImagXpress的多页TIFF编辑API的使用(1)
  2. 改善EF代码的方法(下)
  3. Codeforces732D Exams
  4. Druid源码分析系列1:dataSource.init()的准备工作
  5. 实战案例丨使用云连接CC和数据复制服务DRS实现跨区域RDS迁移和数据同步
  6. php mysql_fetch_field_PHP mysqli_fetch_field() 函数
  7. dmidecode 硬件查看
  8. 第八届蓝桥杯第五题取数位
  9. Java自带工具包StringUtils包含方法
  10. ai人工智能的数据服务_建立AI系统的规则-来自数据科学家
  11. 奈奎斯特稳定性判据的详细推导(手把手教,看完就会!)
  12. wps页眉怎么设置不同页码_WPS论文排版教程二:如何设置不同页码
  13. tp路由器虚拟服务器架设传奇,单机传奇架设教程2021年完整版
  14. iOS weak关键字实现原理
  15. Unity3d Google Play内购尝试客户端坑记
  16. css 手抓,CSS 像素画 - 手和箭头
  17. 嵌入式新闻早班车-第14期
  18. 加速度jsudo:立创电子元器件商城网站功能测评
  19. 江苏省计算机二级Python备考经验(2020年10月考试)
  20. mac宽带连接找不到pppoe服务器,Mac如何建立PPPoE网络连接-Mac建立PPPoE网络连接教程 - 河东软件园...

热门文章

  1. 更改c语言程序保存地址吗,(C语言)修改文件时间程序(创建时间、修改时间、访问时间)...
  2. weblogic创建域生产模式,输入用户名闪退
  3. 掌握这6大知识点 做光伏会容易很多
  4. Ubuntu使用远程桌面
  5. 架构与思维:系统容量设计
  6. Kubernetes vs Docker:了解2021年的容器
  7. 干掉 Postman?测试接口直接生成API文档,这个工具我爱了
  8. 新同事不讲武德,乱写 SQL 偷袭我!!
  9. 《Offer一箩筐》2W字总结面试套路14问——不给例子的教程都是耍流氓!!
  10. 待遇46K起,这几个公众号在招人!