left問題は、各ノードに、right、dataおよび空のポインタの 4 つのデータがあるバイナリ ツリーが与えられた場合、各ノードparentのポインタがその親を指すようにツリーを更新する必要があることですparent(ルートの親ポインタは自然に指すようになります)。 NULL 値に)。どうすればいいですか?次のようなポストオーダートラバーサルを試しました:
last = None
def mypostorder(root):
if root:
mypostorder(root.left)
mypostorder(root.right)
if last:
last.parent = root
last = root
しかし、明らかにそれは機能していません.左の子のparentポインタを更新した後、それを として設定する理由を知ってlastいます. parent. 正しい結果を得るためにそれを微調整する方法は?スタックを使用して、繰り返し行うことも可能ですか?