求二叉树最大深度的两种方法

剑指offer55

思路 1、树的后序遍历 / 深度优先搜索往往利用 递归 或 栈 实现,本文使用递归实现。
思路:此树的深度和其左(右)子树的深度之间的关系:此树的深度 等于 左子树的深度 与 右子树的深度 中的 最大值 +1

思路 2、树的层序遍历 / 广度优先搜索往往利用 队列 实现。
思路:每遍历一层,则计数器 +1,直到遍历完成,则可得到树的深度。
具体实现:创建一个计数器res,用来记录层数;创建一个queue,存储每一层的所有node;每遍历一层,res+1;直到queue中不再有节点,即queue==null,终止遍历。

队列使用LinkedList实现

你可能感兴趣的:(数据结构与算法,深度优先,宽度优先,list)