publicstatic List<string> generateParenthesis(int n){
List</string><string> list =new ArrayList</string><string>();
search("", n, n, list);return list;}publicstaticvoid search(String add, int left, int right, List</string><string> list){if(left <0|| right <0|| left > right)return;if(left ==0&& right ==0){
list.add(add);return;}
search(add +"(", left -1, right, list);
search(add +")", left, right -1, list);}
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[“((()))”,“(()())”,“(())()”,“()(())”,