BST内のノードの順序どおりの後続を見つけようとしていました。そして、以下は私のサンプルコードです。
public TreeNode getInorderSuccesor(TreeNode t)
{
if(t == null)
{
return null;
}
if(t.getRight()!=null)
{
t = t.getRight();
while(t.getLeft()!=null)
{
t = t.getLeft();
}
return t;
}
else
{
TreeNode parent = t.getParent();
while(parent!=null && parent.getLeft() != t)
{
t = parent;
parent = t.getParent();
}
return parent;
}
}
失敗する条件があれば教えてください。そして、親ノードのないインオーダーサクセサを見つけるためにalgo / code/sudocodeを共有できる人がいる場合はもう1つ。ありがとう!!!