1
以下方法計算什麼?假設該方法最初稱爲i = 0學習遞歸Java
public int mysteryMethod(String a, char b, int i) {
if (i == a.length())
return 0;
else if (b == a.charAt(i))
return mysteryMethod(a, b, i + 1) + 1;
else
return mysteryMethod(a, b, i + 1);
}
我對遞歸感到困惑。在第二個回報聲明中,+1正在做什麼。
我假設你不想讓我們給你實際的答案,但只是一個提示? –
耶,遞歸的任何幫助或解釋都不錯:) – flowinwind
儘量避免將遞歸函數「展開」爲步驟的誘惑,從而將它轉化爲頭腦中的命令式編程風格。相反,嘗試將該功能看作是*定義*而不是配方。根據* what *而不是* how *來思考。 –