LeetCode第22题:括号生成
- 题目:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
- 解法一:采用了递归的方法
class Solution {
private List<String> gP(String s,int L,int R,List<String> ans){
if(L==0 && R==0){
ans.add(s);
return ans;
}
if(L>0){
gP(s+"(",L-1,R,ans);
}
if(R>0 && L<R){
gP(s+")",L,R-1,ans);
}
return ans;
}
public List<String> generateParenthesis(int n) {
List<String> ans=new ArrayList<>();
if(n==0) return ans;
ans=gP("",n,n,ans);
return ans;
}
}