给定n对括号,编写一个函数来生成格式正确的括号的所有组合。
public class CreateParenthesis {
public static List<String> generateParenthesis(int n){
List<String> list = new ArrayList<>();
chuli("",list,n,n);
return list;
}
public static void main(String []args){
List<String> stringList = generateParenthesis(3);
for(String str:stringList){
System.out.println(str);
}
}
public static void chuli(String s,List<String> list,int left,int right){
if(left > right){
return;
}
if(left > 0){
chuli(s+"(",list,left-1,right);
}
if(right > 0){
chuli(s+")",list,left,right-1);
}
if(left==0 && right==0){
list.add(s);
return;
}
}
}