算法——求n对()有多少种输出方式?
letcode:22
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
public List<String> generateParenthesis(int n) { List<String> res = new ArrayList<>(); gen(res, n, n, ""); return res; } private void gen(List<String> res, int left, int right, String str) { if (left == 0 && right == 0) { res.add(str); return; } if (left > 0) { gen(res, left - 1, right, str + "("); } if(right > left){ gen(res, left, right - 1,str + ")"); } }