隐藏注意点
递归次数不要太多
递归次数太多, 函数调用栈会很大, 可能溢出或速度变慢;
一个递归方法, 在方法里调用方法本身, 如果调用处下面还有代码, 这些代码如果可被执行, 可能改变返回值;
public class TRecu {
static String call(int input) {
String result = "";
if (input == 1) {
call(2);
} else if (input == 2) {
call(3);
} else if (input == 3) {
result = "3";
System.out.println("input=" + input + ", return= " + result);
return result;
}
System.out.println("input=" + input + ", return= " + result);
return result;
}
public static void main(String[] args) {
String answer = call(1);
System.out.println("main 结束, answer= " + answer);
}
}
输出:
input=3, return= 3
input=2, return=
input=1, return=
main 结束,answer=