数字を含むバイナリツリー所与 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)。 } }