0

各要素にノードのデータとツリー内のノードのレベルが含まれている配列からツリーを作成するように依頼されました。配列は、ノードの事前順トラバーサルでした。

私の解決策は間違っていたと思います(または少なくともそれを行う最善の方法ではありません)が、その理由と正しい解決策が何であるかはわかりません。

私のアプローチは、関数の最初の呼び出しでレベル 0 から開始し、配列をループして、現在の再帰呼び出しのレベルよりも正確に 1 大きいレベルを持つものを見つけたときに、次の再帰呼び出しを行うことでした。その要素のインデックスから始まる配列とインクリメント レベル。次に、その再帰呼び出しの結果は子になります。

また、配列内の要素のレベルが現在の再帰呼び出しのレベルと等しいかどうかもチェックします。もしそうなら、ループから抜け出します。なぜなら、それは私の兄弟になるからです。親は別の再帰呼び出しでそれを処理します。

それは意味がありますか?この質問に正しく答えるには、何を変更する必要がありますか?

4

0 に答える 0