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)
有什么建议?
使用
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)
归档时间: |
|
查看次数: |
4694 次 |
最近记录: |