Java 在二叉树中查找给定密钥的父级
我试图在二叉树(不是BST)中找到给定密钥的父级。这段代码总是返回null,有人能说出问题出在哪里吗?我认为问题是,即使我返回parent,它仍然会返回null。 谢谢:)Java 在二叉树中查找给定密钥的父级,java,tree,binary-tree,Java,Tree,Binary Tree,我试图在二叉树(不是BST)中找到给定密钥的父级。这段代码总是返回null,有人能说出问题出在哪里吗?我认为问题是,即使我返回parent,它仍然会返回null。 谢谢:) 您将递归到左、右子树中,但当这些调用找到匹配项时,您将忽略它。而是做一些类似的事情 public Node getParent(int key, Node parent, Node r) { if (r!=null) { if (r.iData == key) return p
您将递归到左、右子树中,但当这些调用找到匹配项时,您将忽略它。而是做一些类似的事情
public Node getParent(int key, Node parent, Node r) {
if (r!=null) {
if (r.iData == key)
return parent;
Node p;
p = getParent(key, r, r.leftChild);
if (p != null)
return p;
p = getParent(key, r, r.rightChild);
if (p != null)
return p;
}
return null;
}
public Node getParent(int key, Node parent, Node r) {
if (r!=null) {
if (r.iData == key)
return parent;
Node p;
p = getParent(key, r, r.leftChild);
if (p != null)
return p;
p = getParent(key, r, r.rightChild);
if (p != null)
return p;
}
return null;
}