22. 括號生成

class Solution {//很好理解,我就不解釋了
    public List<String> generateParenthesis(int n) {
        List<String> res = new ArrayList<String>();
	if(n==0)
		return res;
        backtrack("",res,n,0,0);
        return res;
    }
    public static void backtrack(String s,List<String> res,int n,int lnum,int rnum){
		if(lnum==n&&rnum==n) {
			res.add(s);
			return;
		}
		if(lnum<n)
            backtrack(s+"(",res,n,lnum+1,rnum);
        if(lnum>rnum)
            backtrack(s+")",res,n,lnum,rnum+1);
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章