这个问题很容易解释...设计一个名为startChar(String str,char c)的方法。这是我在这里找到的代码,但它在字符串的末尾插入了char。我无所适从地进行递归思考。我理解此代码,但对它的理解不足以操纵它以将char开头。任何形式的帮助表示赞赏。
示例输入:
startChar("Apple",'p')
输出:
ppale
代码
public static String chrToLast(String str, char ch) {
//This if statement details the end condition
if(str.length() < 1) {
return "";
}
String newString = str.substring(1); //Create new string without first
character
if(str.indexOf(ch) == 0) { //This happens when your character is found
return chrToLast(newString, ch) + ch;
} else { //This happens with all other characters
return str.charAt(0) + chrToLast(newString, ch);
}
}
答案 0 :(得分:0)
那......
YAY!
这是带有辅助功能的递归
更新:您必须知道/记住可以在递归调用之前和之后处理数据,但是尝试在最后编写递归调用,通常大多数语言在这种情况下都有优化。
在此示例中,我们使用累加器累加处理过的数据,然后在基本步骤中将这些累加器处理到最终输出。