题目描述
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。
解题思路
1、递归
终止条件: 叶子节点
递归执行:返回最大值(当前最大值、左右节点返回的最大值)+1
2、迭代
终止调价: 叶子节点
借用数组,按深度优先的原则,先扫描一层的节点,然后分别弹出,无叶子节点,则将子节点入队;有叶子节点则返回
语言积累和技巧
queue的poll、offer等方法
使用迭代时,判断条件为,叶子节点返回统计数,非叶子节点,则将非空子节点压入队列中
vscode 代码链接
https://github.com/lunaDolphi...
https://github.com/lunaDolphi...
https://github.com/lunaDolphi...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。