これは私のコードですが、すべてのノードが毎回出力されます。その後、DEBUG は、右のサブツリーに再帰するたびに、tmp 配列が左のサブツリーを走査する前の状態を保持することを発見しました。これは、ルートから右のサブツリーまでの状態ではまったくありません。
これはスコープの問題ですか?しかし、解決方法が見つからないので、ここで答えを求めます、ありがとう
过去多啦不再A梦2017-05-18 10:52:28
それはスコープの問題です。おそらく、アルゴリズムには多くの問題はありません。パラメーターを関数に渡すとき、特に変数パラメーターを渡すときに知っておく必要があるということです (あなたの場合、それはリストです)。 )、数え切れないほど覚えておく必要があります。ここでの 問題は主に tmp に焦点を当てています 左のサブツリーの状態が保持される理由は、左のサブツリーをトラバースするときに左のサブツリーを tmp に追加し、次の再帰呼び出しを行うためです。左のサブツリーのみがある場合は問題ありませんが、右のサブツリーがある場合は問題が発生します。私の言語表現能力には限界があるので、修正コードを載せておきます リーリー