1.解决方法,回溯法。
递归,在递归过程中判断执行条件和结束条件
class Solution {
public List<String> generateParenthesis(int n) {
List<String> a=new ArrayList<String>();
digui(a,n,n,"");
return a;
}
public static List<String> digui(List<String> a,int left,int right,String s) {
if(left==0&&right==0) {
a.add(s);
return a;
}
if(left<=right&&left!=0) {
digui(a,left-1,right,s+"(");
}
if(right!=0) {
digui(a,left,right-1,s+")");
}
return null;
}
}