使用递归查找字符串中的字符

使用递归查找字符串中的字符,第1张

使用递归查找字符串中的字符

您的尝试很好,但是还不够。这是基于您的正确实现:

public static int indexOf(char ch, String str) {    // Returns the index of the of the character ch    if (str == null || str.equals("")) {        // base case: no more string to search; return -1        return -1;    } else if (ch == str.charAt(0)) {        // base case: ch is at the beginning of str; return 0        return 0;     }    // recursive step    int subIndex = indexOf(ch, str.substring(1));    return subIndex == -1 ? -1 : 1 + subIndex;}

您的尝试存在两个问题:

在这一

else if
部分中,您已经找到了角色,因此正确的做法是停止递归,但您仍在继续。

在最后一个return语句中,您需要在递归调用中加1(如果最终找到了该字符),作为累加总索引号的一种方式。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存