LeetCode-括号生成

给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。

例如,给出 = 3,生成结果为:

[
  "((()))",
  "(()())",
  "(())()",
  "()(())",
  "()()()"

]

class Solution {
    public List generateParenthesis(int n) {
        List arrayList = new ArrayList();
        if(n==0)
        	return arrayList;
        dfs(arrayList,n-1,n,new StringBuilder().append('('));
        return arrayList;
    }

	private void dfs(List arrayList, int left, int right, StringBuilder append) 
	{
		// TODO Auto-generated method stub
		if(left==0&&right==0)
		{
			arrayList.add(append.toString());
			return;
		}
		
		
		if(right

你可能感兴趣的:(OJ练习,LeetCode)