Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回字符串数组的递归函数(JAVA)_Java_String_Recursion_Return Value - Fatal编程技术网

返回字符串数组的递归函数(JAVA)

返回字符串数组的递归函数(JAVA),java,string,recursion,return-value,Java,String,Recursion,Return Value,我需要JAVA方面的帮助: 我有一个我不能更改的函数签名,我的函数需要递归并返回字符串数组,而不需要任何选项将其添加到签名中 这是我的签名: public String[] findSimilar(String w, int index, int k) 该函数在TRIE结构中查找相似的单词,它们之间的差异为K个字母 例如,在一个包含hello、nice、nine、cry的TRIE中,对于单词“bike”和k=2,函数将返回一个包含nice和nine的字符串[] 我不是在寻找解决方案,只是寻找一

我需要JAVA方面的帮助: 我有一个我不能更改的函数签名,我的函数需要递归并返回字符串数组,而不需要任何选项将其添加到签名中

这是我的签名:

public String[] findSimilar(String w, int index, int k)
该函数在TRIE结构中查找相似的单词,它们之间的差异为K个字母

例如,在一个包含hello、nice、nine、cry的TRIE中,对于单词“bike”和k=2,函数将返回一个包含nice和nine的
字符串[]

我不是在寻找解决方案,只是寻找一个返回字符串数组的方法

**我写了一个函数,其中的签名是作为包装器收到的,但我刚刚发现我不能使用包装器

谢谢大家!

使用类似的方法。 我不想提供完整的代码只是一个想法

public String[] findSimilar(String w, int index, int k) {
    String[] res1=findSimilar(conditions one);
    String[] res2=findSimilar(conditions two);

    String[] res=new String[res1.length+res2.length];
    //use public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
    System.arraycopy(copyFrom, ..., copyTo, ..., ...);
}
我不是在寻找解决方案,只是寻找一个返回字符串数组的方法

要返回文本为
string1
string2
的字符串数组,可以使用
returnnewstring[]{“string1”,“string2”}

否则,如果事先知道要返回多少元素,则可以创建字符串数组并为其位置赋值:

String[] arr = new String[2];
arr[0] = "string1";
arr[1] = "string2";
return arr;
如果它是递归函数的返回类型,则可能需要使用递归调用的结果在当前调用中构建自己的结果。考虑到数组无法扩展,您需要创建一个具有预期大小的新数组,并将结果的值复制到其中,例如使用。

简单的示例:

public String[] findSimilar(String w, int index, int k) {
    return new String[] {"string1","string2"}
}
也许更有用:

public String[] findSimilar(String w, int index, int k) {
    List<String> similar = new ArrayList<>();
    // insert some implementation here

    return similar.toArray(new String[similar.size()]);
}
public String[]findSimilar(字符串w,int-index,int-k){
列表相似=新的ArrayList();
//在这里插入一些实现
返回simular.toArray(新字符串[simular.size()]);
}

如果字符串在集合中,则可以
返回collection.toArray(新字符串[0])