我将如何更改下面编写的代码以说明不在bst中的输入对k?换句话说,如何在不存在的二进制搜索树中找到密钥的后继者?
public Record getSuccessor(Pair k, Node root) {
if(root == null) {
return null;
}
if(k.compareTo(root.getNodeRecord().getKey()) == 0) {
if(root.getRightChild() != null) {
return getSmallest(root.getRightChild());
}
else {
return root.getParent().getNodeRecord();
}
}
else {
Record left = getSuccessor(k, root.getLeftChild());
if(left != null) {
return left;
}
return getSuccessor(k, root.getRightChild());
}
}