反向字符串递归方法

JBo*_*Boy 1 java recursion reverse

你好为什么我使用递归的反向方法不起作用?print语句显示操作正确完成,但最后看起来只有整个String的非常多的char被赋值给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;
    }

}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Cha*_*ndu 5

使用

 return reverse(s,h); 
Run Code Online (Sandbox Code Playgroud)

而不是返回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,
    }

}
Run Code Online (Sandbox Code Playgroud)