如何将两个相互递归的函数相互更改为一个线性递归?我是否必须在单个方法中同时使用这两种方法?
答案 0 :(得分:8)
您应该能够简单地将第二种方法的实现“内联”到第一种方法中。
即,
public static void methA() {
// snippet 1
methB();
// snippet 2
}
public static void methB() {
// snippet 3
methA();
// snippet 4
}
变为
public static void methAB() {
// snippet 1
// snippet 3
methAB();
// snippet 2
// snippet 4
}
如果第二种方法很长,并且在第一种方法中从多个点调用,那么它可能会变得混乱。