开始刷leetcode day20:Generate Parentheses
2015-05-23 09:26
253 查看
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:
Java:
public class Solution {
public ArrayList<String> generateParenthesis(int n) {
ArrayList<String> list = new ArrayList<String>();
generate("",0,0,list,n);
return list;
}
public void generate(String current, int left, int right,ArrayList<String> list, int n)
{
if(left < right) return;
if(left == n && right == n)
{
list.add(current);
return;
}else if(left==n)
{
generate(current+")",left,right+1,list,n);
return;
}
generate(current+"(",left+1,right,list,n);
generate(current+")",left, right+1,list,n);
return;
}
}
For example, given n = 3, a solution set is:
"((()))", "(()())", "(())()", "()(())", "()()()"
Java:
public class Solution {
public ArrayList<String> generateParenthesis(int n) {
ArrayList<String> list = new ArrayList<String>();
generate("",0,0,list,n);
return list;
}
public void generate(String current, int left, int right,ArrayList<String> list, int n)
{
if(left < right) return;
if(left == n && right == n)
{
list.add(current);
return;
}else if(left==n)
{
generate(current+")",left,right+1,list,n);
return;
}
generate(current+"(",left+1,right,list,n);
generate(current+")",left, right+1,list,n);
return;
}
}
相关文章推荐
- leetcode Generate Parentheses
- LeetCode---Generate Parentheses
- LeetCode: Generate Parentheses 解题报告
- LeetCode题解:Generate Parentheses
- LeetCode(22)Generate Parentheses
- 开始刷leetcode day20:Binary Tree Inorder Traversal
- LeetCode || Generate Parentheses
- Leetcode -- Generate Parentheses
- LeetCode(22) Generate Parentheses
- leetcode:Generate Parentheses
- LeetCode Generate Parentheses
- LeetCode Generate Parentheses
- LeetCode: Generate Parentheses [021]
- LeetCode(22)Generate Parentheses
- LeetCode : Generate Parentheses [java]
- Leetcode:Generate Parentheses 生成有效括号对
- LeetCode Generate Parentheses
- LeetCode: Generate Parentheses
- leetcode 22 -- Generate Parentheses
- LeetCode 22: Generate Parentheses