這個函數有什麼作用?你如何評價它?這個遞歸函數做什麼?
如何追蹤它?如何理解遞歸方法?
我只是無法理解遞歸,而考試日期即將到來,而且我知道爲了理解遞歸,我必須先了解遞歸。
但我只是不能寫一個稍微複雜的遞歸方法,任何人都可以幫助我使用最簡單的英文單詞。
public class BalancedStrings {
public static void printBalanced(String prefix, int a, int b) {
if (a > 0)
printBalanced(prefix + "a", a - 1, b);
if (b > 0)
printBalanced(prefix + "b", a, b - 1);
if (a == 0 && b == 0)
System.out.println(prefix);
}
public static void printBalanced(int n) {
if (n % 2 == 0) {
printBalanced("", n/2, n/2);
}
}
public static void main(String[] args) {
printBalanced(4);
}
}
如果這種用'homework'標籤也被標記? – verisimilitude
順便說一句我發現了一些問題,處理同一主題 - http://stackoverflow.com/questions/3021/what-is-recursion-and-when-should-i-use-it,http://stackoverflow.com /問題/ 1011448 /必要用途-的遞歸式,命令式語言。 – verisimilitude