1 题目
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a7161317ee0dc13be7700e0bc41e2cb0.png)
2 解析
import java.util.*;
public class Solution {
ArrayList<String> ret = new ArrayList<>();
public ArrayList<String> generateParenthesis (int n) {
StringBuilder s = new StringBuilder();
backTacing(0, 0, n, s);
return ret;
}
public void backTacing(int left, int right, int n, StringBuilder s){
if(left == n && right == n){
ret.add(new String(s));
return;
}
if(left < n){
backTacing(left + 1, right, n, s.append("("));
s.deleteCharAt(s.length() - 1);
}
if(right < n && right < left){
backTacing(left, right + 1, n, s.append(")"));
s.deleteCharAt(s.length() - 1);
}
}
}