以String开头的字符返回String的递归方法

时间:2018-07-15 23:36:03

标签: java string recursion methods char

这个问题很容易解释...设计一个名为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);
    }
}

1 个答案:

答案 0 :(得分:0)

那......

YAY!

这是带有辅助功能的递归

更新:您必须知道/记住可以在递归调用之前和之后处理数据,但是尝试在最后编写递归调用,通常大多数语言在这种情况下都有优化。

在此示例中,我们使用累加器累加处理过的数据,然后在基本步骤中将这些累加器处理到最终输出。