欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

22. 括号生成

程序员文章站 2024-03-21 17:23:28
...
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);
	}
}