JAVA:帮助修复递归函数

标签 java recursion

我必须使用递归来解决这个问题,我设法使用循环很快地使其工作,但我对此有点卡住了。 我当前的代码是

public static String ReverseR(String n){
    String finalstring="";
    int i = 0;
    int len = n.length();
    while (i < len) {
        finalstring += (n.charAt(len -  1));
        ReverseR(n.substring(0, len - 1));
        i++;
    }
    return finalstring;
}

当我输入任何字符串时,结果字符串的长度是正确的,但只使用最后一个字母。例如:ReverseR("Hello") = ooooo 有什么想法吗?

最佳答案

递归有点像归纳证明。

  1. 摆脱 while 循环
  2. 如果您要反转 0 个字符的字符串,这很简单:只需返回“”
  3. 如果要反转 n 个字符的字符串,请反转 [0..n-2] 并添加最后一个字母。您已经在这样做了。

关于JAVA:帮助修复递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19526274/

相关文章:

java - Java 中的 URL 转义

java - 在不打开应用程序的情况下使用通知操作更改 TextView 的文本

java - 执行后如何访问Callable Future的参数?

r - 应用于嵌套列表名称 : Sub out character in nested list names

python - 为什么此代码在第 11 行引发 RecursionError?

java - 是否可以覆盖 jboss-web.xml 文件中的设置?

java - Tomcat 8.5 ServletException JSP 文件未找到(但 100% 存在)

元组的 SQL 重复数据删除列表

javascript - 递归验证 HTML 输入元素

c - C中递归二进制搜索算法中的段错误