因此,我在递归的最后部分赋值时遇到了一些麻烦。该方法需要使用递归来返回一个由“编织”两个字符串形成的字符串,并将两个字符串作为参数。例如:组合使用递归的字符串
weave("aaaa", "bbbb") // should return the string "abababab"
weave("hello", "world") // should return the string "hweolrllod"
weave("recurse", "NOW") // should return the string "rNeOcWurse"
请注意,第一个字符串中的额外字符 - “urse”中的字符 - 在编织在一起的字符后面。
重要的(和令人讨厌的)是我不允许使用任何迭代循环(for,while,do while)。
这里是我的代码至今:
public static String weave(String str1, String str2)
{
String word = str1 + str2;
if(str1 == null || str1.equals("") || str2 == null || str2.equals(""))
{
return word;
}
String word1 = weave(str1.substring(0, str1.length() - 1), str2.substring(0, str2.length() - 1));
System.out.println(word1);
return word;
}
对于(你好,世界),我的输出是:
HW
HeWo
HelWor
HellWorl
HelloWorld
显然,我的字符不织布,所以我不知道该怎么办!另外,如上所述,该方法不应该打印。我只是在println
声明中添加了一个测试,以查看我的程序在哪里。
告诉你的输出*应该*看起来像 – 2012-04-03 18:20:34
@LiviuT。他们确实在例子的开头说明预期的最终结果。 – 2012-04-03 18:22:37
@LiviuT。查看第一个代码块的评论。 – 2012-04-03 18:23:49