Я пытаюсь преобразовать этот рекурсивный метод в итеративный метод. Но я застрял посередине.Рекурсивный итеративный в Java
static void string_recurse(String active,String rest) {
if (rest.length() == 0) {
System.out.println(active);
} else {
string_recurse(active + rest.charAt(0), rest.substring(1, rest.length()));
string_recurse(active, rest.substring(1, rest.length()));
}
}
Я не могу понять, как преобразовать этот рекурсивный метод в итеративный. Что делает этот метод, он печатает все слова «подмножества» данного слова. Более формально, если есть строка s_1s_2...s_n
он перечисляет все строки s_{i1}s_{i2}...s_{ik}
таким образом, что i1, i2, ..., ik
является подмножеством {1, ..., n}
и i1 < i2 < ... < ik
Например, когда мы называем string_recurse("","abc");
мы получаем вывод:
abc
ab
ac
a
bc
b
c
(the empty word)
Можете ли вы сказать, что делает этот метод? –
Где именно ты застрял ?! Удивительно, но я здесь даже не вижу петли. – SudoRahul
Что такое активные и остальные строки? вы можете показать пример? –