バイナリツリーを考えると、その最大の深さを見つけます。
最大深さは、最も遠いリーフノードにルートノードの下から最長パスに沿ったノードの数です。
注:葉は子を持たないノードです。
例:
バイナリツリーを考えると [3,9,20,null,null,15,7]
、
3 / \ 9 20 / \ 15 7
その深さ= 3を返します。
1 / ** 2 分木のノードのための*の定義。 3 *パブリッククラスツリーノード{ 4 * INTヴァル。 5 *のTreeNodeは左。 6 *のTreeNode右; 7 *ツリーノード(INT X){ヴァル= X。} 8 *} 9 * / 10 クラスソリューション{ 11 公共 のint MAXDEPTH(ツリーノードのルート){ 12 リターンヘルパー(ルート)。 13 } 14 15 プライベート int型ヘルパー(ツリーノードのルート){ 16 であれば(ルート== NULL ){ 17 リターン 0 ; 18 } 19 INTは =左(root.left)ヘルパー。 20 INT右= ヘルパー(root.right)。 21 リターン Math.max(左、右)+ 1 。 22 } 23 }