分析,左扩号的数目永远大于或者等于右扩号的数目。
public static void solution(int n,int l,int r,ArrayList<String> ans,String tmp){
if(l<0||r<l){
return;
}
if(l==0&&r==0){
ans.add(tmp);
}else{
if(l>0){
solution(n,l-1,r,ans,tmp+"(");
}
if(r>0){
solution(n,l,r-1,ans,tmp+")");
}
}
}