《leetCode》:Generate Parentheses(hard)
2017-08-08 22:11
405 查看
题目:
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
public List<String> generateParenthesis(int n) {
List<String> list = new ArrayList<String>();
backtrack(list, "", 0, 0, n);
return list;
}
public void backtrack(List<String> list, String str, int open, int close, int max){
if(str.length() == max*2){
list.add(str);
return;
}
if(open < max)
backtrack(list, str+"(", open+1, close, max);
if(close < open)
backtrack(list, str+")", open, close+1, max);
}
Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
[ "((()))", "(()())", "(())()", "()(())", "()()()" ]
public List<String> generateParenthesis(int n) {
List<String> list = new ArrayList<String>();
backtrack(list, "", 0, 0, n);
return list;
}
public void backtrack(List<String> list, String str, int open, int close, int max){
if(str.length() == max*2){
list.add(str);
return;
}
if(open < max)
backtrack(list, str+"(", open+1, close, max);
if(close < open)
backtrack(list, str+")", open, close+1, max);
}
相关文章推荐
- 《leetCode》:Generate Parentheses(hard)
- [leetcode]Generate Parentheses
- [LeetCode]Generate Parentheses
- leetcode-22-Generate Parentheses
- leetcode之 Generate Parentheses
- N-Queens And N-Queens II [LeetCode] + Generate Parentheses[LeetCode] + 回溯法
- LeetCode 22 -Generate Parentheses ( JAVA )
- leetcode——Generate Parentheses
- [leetcode] Generate Parentheses
- LeetCode - Generate Parentheses
- [Leetcode] Generate Parentheses
- LeetCode-Generate Parentheses
- [leetcode]Generate Parentheses
- LeetCode: Generate Parentheses
- LeetCode - Generate Parentheses
- Generate Parentheses - LeetCode 22
- [LeetCode][JavaScript]Generate Parentheses
- LEETCODE: Generate Parentheses
- [leetcode] 22 Generate Parentheses(递归)
- Leetcode 暴力 Generate Parentheses