java - 反向字符串递归方法

标签 java recursion reverse

你好 为什么我使用递归的反向方法不起作用? print 语句显示操作正确完成,但最后似乎只有整个字符串的 ast 字符分配给 h。

    public static String reverse(String s,String h){

    if(s.length()==0){

        return s;

    } else {


        h+=s.charAt(s.length()-1);
        System.out.println(h);//FOR TEST
        s=s.substring(0,s.length()-1);
        reverse(s,h);
        return h;
    }

}

有什么建议吗?

最佳答案

使用

 return reverse(s,h); 

代替 返回 h;

即:

public static String reverse(String s,String h){

    if(s.length() == 0){

        return h;

    } else {


        h+=s.charAt(s.length()-1);
        System.out.println(h);//FOR TEST
        s=s.substring(0,s.length()-1);
        return reverse(s,h); //NOTICE THE CHANGE HERE,
    }

}

关于java - 反向字符串递归方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6248101/

相关文章:

java代码访问drools guvnor

c++ - 最长回文子串递归解

c - 单词反转程序。由于空行而缺少单词

php - 使用 PHP - SPL 解决方案反向遍历数组?

C 反转文件中的行顺序

java - 为什么 TreeSet 声明为 TreeSet<E> 而不是 TreeSet<E extends Comparable<E>>

java - 添加 XA 数据源失败并显示 jboss-as-maven-plugin

java - HtmlUnit JavaScript 回调 Java 方法

javascript - 使用 ng-include 的 angularjs Treeview 为所有节点的父节点触发 ng-click

java - 为什么当字长超过 4 时此代码会出现计算器错误?