Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
Solution:
public class Solution {
public List generateParenthesis(int n) {
List res = new ArrayList();
if(n == 0) return res;
helper(res, "", 0, 0, n);
return res;
}
public void helper(List res, String s, int open, int close, int max){
if(s.length() == max*2){
res.add(s);
return;
}
if(open < max)
helper(res, s+"(", open+1, close, max);
if(close < open)
helper(res, s+")", open, close+1, max);
}
}
No comments:
Post a Comment