Я делаю вопрос кодирования, не глядя на ответ, и я изо всех сил, чтобы найти то, что случилось с моим мыслительным процессомПоиск подходящих пар скобок не работает?
вопрос найти все комбинации допустимых п пар скобок
public class Foo{
public void printCombinations(String prefix, int open, int close, int n){
if (open > n) {
return;
}
if (close > n) {
return;
}
if (open == n && close == n){
System.out.println(prefix);
return;
}
printCombinations(prefix + "(", open + 1, close, n);
printCombinations(prefix + ")", open, close + 1, n);
}
public static void main(String []args){
HelloWorld w = new HelloWorld();
w.printCombinations("", 0, 0, 3);
}
}
Когда я запускал эту программу, казалось, что распечатывал все комбинации, а не те, которые имеют действующие скобки. Я думал, что printCombinations(prefix + "(", open + 1, close, n);
обеспечит, чтобы я сначала открывал скобу, а затем рекурсивно вызывал printCombinations(prefix + ")", open, close + 1, n);
. Я вижу один результат с чем-то вроде )))(((
. Как это возможно, если сначала добавить (
?
Извините, я понял, что это не выглядит хорошо, поэтому я исправил его: p – loki