gpt4 book ai didi

java - 在Java中搜索二叉树的所有节点

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:20 25 4
gpt4 key购买 nike

我正在尝试编写一种方法来搜索二叉树的所有节点以获取传递的值并在找到时返回该节点。我似乎无法获得正确的逻辑来搜索树的两侧。这是我目前所拥有的。

private Node locate(String p, Node famTree)
{
if (root == null)//If tree empty return null;
return null;
if (famTree.value.equals(p)) //If leaf contains the passed parent value the boolean becomes true.
return famTree;
if (famTree.left != null)
return locate(p,famTree.left);
else
return locate(p,famTree.right);

}

最佳答案

当没有左子树时,你只搜索右子树。当在左子树中找不到字符串时,您还想搜索它。应该这样做:

private Node locate(String p, Node famTree)
{
Node result = null;
if (famTree == null)
return null;
if (famTree.value.equals(p))
return famTree;
if (famTree.left != null)
result = locate(p,famTree.left);
if (result == null)
result = locate(p,famTree.right);
return result;

}

关于java - 在Java中搜索二叉树的所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941204/

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