题目:
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
示例 1:
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]
示例 2:
输入:n = 1
输出:["()"]
代码实现:
class Solution {
List<String> ans = new ArrayList<String>();
public void recursion(int level, String str) {
if(level == 0) {
System.out.println(str);
ans.add(str);
return ;
}
recursion(level - 1, str + "(");
recursion(level - 1, str + ")");
}
public List<String> generateParenthesis(int n) {
recursion(2 * n, "");
return ans;
}
}