gpt4 book ai didi

java - 在二叉树中查找给定键的父级

转载 作者:行者123 更新时间:2023-12-02 04:03:01 24 4
gpt4 key购买 nike

我试图在二叉树(不是 BST)中找到给定键的父键。这段代码总是返回null,有人能告诉我问题出在哪里吗?我认为问题是即使我返回parent,它仍然会返回null。谢谢:)

public Node getParent(int key,Node parent, Node r){
if(r!=null){
if(r.iData==key)
return parent;
getParent(key, r, r.leftChild);
getParent(key, r, r.rightChild);
}
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;
}

关于java - 在二叉树中查找给定键的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34692477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com