DFS leetcode 22. Generate Parentheses

来源:互联网 发布:电脑图片查看软件 编辑:程序博客网 时间:2024/06/06 02:00

GGiven n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

For example, given n = 3, a solution set is:[((())), (()()), (())(), ()(()), ()()()]



import java.util.*;public class Solution {    public List<String> generateParenthesis(int n) {        List<String> list = new ArrayList<String>();        dfs(list,"",0,0,n);        return list;    }    public void dfs(List list,String str, int l, int r, int n) {        if(l == n && r == n) {            list.add(str);            return;        }        if(l < n) {            dfs(list, str + '(', l+1, r, n);        }        if(r < l) {            dfs(list,str + ')', l, r+1, n);        }    }}





0 0
原创粉丝点击