そのため、バイナリ ツリー (未ソート) の内部ノードとリーフを出力するヘルパー関数があります。私はクラスにいるのでコードを提供しませんが、私はそれをコード化し、そこにスローした最初のノードで機能することを伝えることができます:
def helper(root, internals=[], leaves=[]):
#function code here...
>>> helper(node)
([13, 14, 27], [10, 11, 12, 17, 19])
私の知る限り、これは正しい出力です。ただし、別のノードで同じ関数を再度呼び出すと、出力は前のものに上書きされます。
>>> helper(pen)
([13, 14, 27, 6, 8, 14], [10, 11, 12, 17, 19, 2, 4, 10, 12])
pen
ツリーには要素 13、14、27 または 10、11、12、17、19 がないため、これは正しくありません。誰かがここで何が起こっているのか説明できますか? 毎回シェルを再起動せずに、さまざまなケースで関数をテストする必要があります。これを修正するにはどうすればよいですか?