[LC] 129合計ルートリーフ番号に

数字を含むバイナリツリー所与  0-9 のみ、各ルート・ツー・リーフパス番号を表すことができます。

例では、ルート・ツー・リーフパスである  1->2->3 数を表します  123

すべてのルート・ツー・葉の数の合計を検索します。

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

例:

入力:[1,2,3]
    1
   / \
  2 3
出力:25
説明:
ルート・ツー・葉のパスは1->2番号を表し12
ルート・ツー・葉のパスは1->3番号を表し13
したがって、合計= 12 + 13 = 25

/ **
 *バイナリツリーノードの定義。
 *公共のクラスのTreeNode {
 * int型のval;
 *のTreeNodeは左。
 *ツリーノードを右。
 *ツリーノード(INT X){ヴァル= X。}
 *}
 * / 
クラスソリューション{
     INT RES = 0 公共 int型sumNumbers(ツリーノードのルート){
        ヘルパー(根、 0 );
        リターンのres;
    }
    
    プライベート のボイドヘルパー(TreeNodeの根、int型の合計){
         場合(ルート== nullの){
             リターン
        }
        int型 curSum = 10 *合計+ root.val。
        もし(root.left == NULL && root.right == NULL ){
            物事 + = カーソル。
        }
        ヘルパー(root.left、curSum)。
        ヘルパー(root.right、curSum)。
    }
}

 

おすすめ

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