返回字符串数组的递归函数(JAVA)
我需要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的字符串[] 我不是在寻找解决方案,只是寻找一
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])代码>