所以一直以来我都认为我的递归问题是理解案例。事实证明,我的问题是理解递归案例的价值。例如,向后打印数组的一部分。
原创尝试
public static void printBackwards(int i, int j, char[] A){
if(i == j){
System.out.println(A[i]);
}
else{
printBackwards(i+1,j,A);
}
}
工作尝试
public static boolean printBackwards(int i, int j, char[] A){
if(i == j){
System.out.println(A[i]);
return true;
}
else{
if(printBackwards(i+1,j,A) == true){
System.out.println(A[i]);
return true;
}
else{
printBackwards(i+1,j,A);
}
}
return false;
}
但是,这甚至是有效的递归吗?还是有更好的方法通过它?这是我从写出来看它时唯一能弄清楚的方法。