java:
难难子这个dfs
感谢力扣
class Solution {
static List<String> ans = new LinkedList<>();
public List<String> generateParenthesis(int n) {
ans.clear();
dfs(n, 0, 0, "");
return ans;
}
public void dfs(int n, int l, int r, String str){
if(l == n && r == n) ans.add(str);
else{
if(l < n) dfs(n, l + 1, r, str + "(");
if(l > r && r < n) dfs(n, l, r + 1, str + ")");
}
}
}