class Solution {
public List<String> generateParenthesis(int n) {
List<String> res=new ArrayList<String>();
generate(res,"",n,0,0);
return res;
}
private void generate(List<String> res, String tmp,int n,int left,int right){
if(tmp.length()==2*n){
res.add(tmp);
return;
}
else{
if(left<n){
tmp=tmp+"(";
left++;
generate(res,tmp,n,left,right);
tmp=tmp.substring(0,tmp.length()-1);
left--;
}
if(right<left && right<n){
tmp=tmp+")";
right++;
generate(res,tmp,n,left,right);
tmp=tmp.substring(0,tmp.length()-1);
right--;
}
}
}
}
Leetcode 22. Generate Parentheses
最新推荐文章于 2021-08-27 14:30:10 发布
