22. Generate Parentheses

public class Solution {
    public List<String> generateParenthesis(int n) {
        List<String> ret=new ArrayList<String>();
        generateParenthesis("", 0, 2*n, ret);
        return ret;
    }
    void generateParenthesis(String cur, int count, int n, List<String> list)
    {
        if(cur.length()==n&&count==0)
        {
            list.add(cur);
            return;
        }
        if(count<n&&cur.length()<n)
            generateParenthesis(cur+"(", count+1, n, list);
        if(count>0&&cur.length()<n)
            generateParenthesis(cur+")", count-1, n, list);
    }
}

 

posted @ 2017-09-23 01:41  Weiyu Wang  阅读(104)  评论(0编辑  收藏  举报