私はあなたがループを再帰関数に変えることができることを読んだので、以下のコードをどのように回すことができるのだろうかと思っていました(文字列の置換)を1つに置き換えます(forループを再帰関数に置き換えます)。私は解決策を求めているのではなく、そのような課題にアプローチする考え方を求めています。ありがとう!forループを再帰関数に変更する
private static void permutation(String prefix, String str) {
int n = str.length();
if (n == 0) System.out.println(prefix);
else {
for (int i = 0; i < n; i++)
permutation(prefix + str.charAt(i), str.substring(0, i) + str.substring(i+1, n));
}
}
ありがとうございました!
への呼び出しでループのために変更します。 – redFIVE
上記の例では、すでに再帰を使用しています。詳細は次のとおりです:http://introcs.cs.princeton.edu/java/23recursion/ – ManoDestra
メソッドの中にforループがあっても、それ自身の中で関数を呼び出すことで、依然として再帰を実行しています。 –