2

How do I change two functions that are Mutual Recursive to each other to make them into a linear recursion? Do I have to have both the methods in a single method?

4

1 回答 1

8

You should be able to simply "inline" the implementation of the second method, into the first method.

That is,

public static void methA() {
    // snippet 1

    methB();

    // snippet 2
}

public static void methB() {
    // snippet 3

    methA();

    // snippet 4
}

becomes

public static void methAB() {
    // snippet 1

    // snippet 3

    methAB();

    // snippet 2

    // snippet 4
}

If the second method is long, and called from multiple points in the first method, it may get messy though.

于 2011-02-09T21:35:55.017 回答