二分木の葉ノードのリストと内部ノードのリストのタプルを返す関数を作成しようとしています。
そこで私が試みた方法は、2 つのリスト (1 つはリーフ ノード用、もう 1 つは内部ノード用) を初期化することでした。
私はすでにコードを作成しており、問題なく動作するはずですが、問題が 1 つだけあります。再帰的に行う必要があるため、関数自体を呼び出す必要があります。つまり、リストの初期化が再度行われ、リストがリセットされるだけです。これは私が欲しいものではありません。それらのリストに要素を追加し続け、最終的にそれらを返したい...
編集:申し訳ありませんが、コードを追加することはできませんが、大まかなアイデアを提供できます:
list1=[]
list2=[]
if (leaf node reached):
add leaf node to list1
else:
add node to list2
call the function on the left child
call the function on the right child
return (leaves_data,internals_data)