Доброго времени суток. Уважаемые знатоки, решил я эту задачку через рекурсию, НО чувствует моя душа, что можно сделать лучше... Подскажите пожалуйста - как оптимизировать мой код, и желательно с пояснениями. Зараннее всем спасибо!
public class Solution {
public static void test(String text, String[] args) {
if (args.length == 0) {
System.out.println(text);
return;
}
for (int i = 0; i < args.length; i++) {
String text2 = text + args[i];
String[] args2 = new String[args.length - 1];
int counter = 0;
for (int i2 = 0; i2 < args.length; i2++) {
if (i2 == i) continue;
args2[counter] = args[i2];
counter++;
}
test(text2, args2);
}
}
public static void main(String[] args) {
String[] array = {"Мама", "Мыла", "Раму"};
String text2 = "";
test(text2, array);
}
}