gpt4 book ai didi

java - 递归方法在 Java 中只返回 null

转载 作者:行者123 更新时间:2023-11-30 07:09:13 25 4
gpt4 key购买 nike

我编写了一个递归方法,它应该返回一个适合特定类(class)的树节点。该方法效果很好,但它没有返回值,而是只返回 null。知道如何解决吗?这是代码:

private TrieNode<String,V> prefix_last_child(TrieNode<String,V> STN , String prefix) {
if (prefix.equals("")) {
return STN;
}
char[] preffixx = prefix.toCharArray();
if (STN.getNexts().get(alphabet_place(preffixx[0])) == null) {
return null;
}
if (!prefix.equals(""))
prefix_last_child(STN.getNexts().get(alphabet_place(preffixx[0])), prefix.substring(1));
return null;
}

最佳答案

您的代码非常接近正常工作。这是问题所在:

if (!prefix.equals(""))
// You make a recursive invocation, and then...
prefix_last_child(STN.getNexts().get(alphabet_place(preffixx[0])), prefix.substring(1));
// ...ignore its return value, and return null instead!
return null;

替换为

if (!prefix.equals(""))
return prefix_last_child(STN.getNexts().get(alphabet_place(preffixx[0])), prefix.substring(1));
// ^^^^^^
return null;

解决问题。

关于java - 递归方法在 Java 中只返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23309691/

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