你好 为什么我使用递归的反向方法不起作用? 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/