0
文字列を入力として使用する再帰(またはループ)関数を作成しようとしていますが、formate "(2(1)(3))"(ソートについて心配していませんそれを[2 [1] [3] [3] []]のようなバイナリツリーへのリストとして単純なものとして解釈します。ここまでは私がこれまでに取り組んだことはありますが、動作していません。ここで私はこれまで持っているものです:文字列入力からバイナリツリーを作成する
def subtrees(string):
tree = []
for x in string:
if x == "(":
return tree.append(subtrees(string[1:]))
elif x == ")":
return tree
else:
tree.append(int(x))
return tree.append(subtrees(string[1:]))
広範なテストの後、私は2つの大きな誤りを発見しました。一つは、それが見つかっreturn
後の最初の括弧を閉じたということではただではなく、全体で実行中の機能を(終了しますそのノードを終了する1つの再帰呼び出し)、そして何らかの理由で私が出力を印刷しようとすると、None
が印刷されます。私は本当にここで失われているので、任意のヘルプ/ヒントは、評価されるだろう。