0

C で再帰関数を作成しようとしています。これは、バイナリ ツリーのルートを受け取り、指定された合計に等しい pathtoleaf が存在するかどうかを確認します。たとえば、次のツリーの最初のノードを受け取ります。

          1

   2              3

5       10       4    20

                            2

以下は PathToLeaf の例です。

  • 1⟶2⟶10
  • 2⟶5
  • 20⟶2

以下は PathToLeaf ではありません。

  • 1⟶2
  • 1⟶3⟶20

パスが存在する場合、関数は 1 を返す必要があります。そうでない場合は、0 を返す必要があります。

このツリーでは、合計が 12 の場合、パスが 2⟶10; であるため、関数は 1 を返す必要があります。sum=4 の場合、唯一のパス (1⟶3) が葉で終わっていないため、関数は 0 を返す必要があります。

ここでの大きな問題は、roottoleaf パスをチェックする関数しか管理できないことです。

4

1 に答える 1