/
githubmirror
/
interviews
Обзор
Документация
Войти
/
githubmirror
/
interviews
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
leetcode/string/GenerateParentheses.java
35 строк
956 B
Kevin Naughton Jr
add PlusOne.java
29 май 2018, 20:20
29 май 2018, 20:20
c41d2e8
Код
Авторство
О чём код?
//Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. // //For example, given n = 3, a solution set is: // //[ //"((()))", //"(()())", //"(())()", //"()(())", //"()()()" //] class GenerateParentheses { public List<String> generateParenthesis(int n) { List<String> result = new ArrayList<String>(); generateParenthesisRecursive(result, "", 0, 0, n); return result; } public void generateParenthesisRecursive(List<String> result, String current, int open, int close, int n) { if(current.length() == n * 2) { result.add(current); return; } if(open < n) { generateParenthesisRecursive(result, current + "(", open + 1, close, n); } if(close < open) { generateParenthesisRecursive(result, current + ")", open, close + 1, n); } } }