题目:输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
例如:输入二元树:
10
/ /
6 14
/ / /
4 12 16
输出该树的深度3。
二元树的结点定义如下:
解法一:遍历二元树的所有路径,输出路径最大的值。
解法二:递归遍历树,一个节点的深度等于它的左右子树深度较大者加一。
解法三:BFS,每遍历一层深度加一。可用一个全局变量判断某一层有多少个节点,用来标记层的开始和结束。