生成括号
给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。 样例 给定 n = 3 , 可生成的组合如下: "((()))", "(()())", "(())()", "()(())", "()()()" 1 public class Solution { 2 /** 3 * @param n n pairs 4 * @return All combinations of well-formed parentheses 5 */ 6 public ArrayList<String> generateParenthesis(int n) 7 { 8 ArrayList<String> ss = new ArrayList<String>(); 9 ss = print(n, n, ss, 0); 10 return ss; 11 } 12 13 ArrayList<String> print(int i, int j, ArrayList<String> ss, int p) 14 { 15 if (ss.size() == 0) 16 { 17 String s = "("; 18 ss.add(s); 19 i--; 20 } else 21 { 22 ArrayList<String> list = new ArrayList(); 23 if (p == 0)