我试图在 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;
}
}
请让我知道它是否会失败。如果有些人可以共享算法/代码/ sudocode 以找到没有父节点的中序继任者,还有一件事。谢谢!!!