您的位置:首页 > 其它

DFS leetcode 22. Generate Parentheses

2016-06-14 16:04 351 查看
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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: