[LC]バイナリツリーの104の最大深さ

バイナリツリーを考えると、その最大の深さを見つけます。

最大深さは、最も遠いリーフノードにルートノードの下から最長パスに沿ったノードの数です。

注:葉は子を持たないノードです。

例:

バイナリツリーを考えると  [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 }

 

おすすめ

転載: www.cnblogs.com/xuanlu/p/12000867.html