Leetcode22. Generate Parentheses
2015-04-03 11:03
330 查看
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:
solution:DFS模版
For example, given n = 3, a solution set is:
"((()))", "(()())", "(())()", "()(())", "()()()"
solution:DFS模版
package leetcode2; import java.util.ArrayList; public class Generate_parenthese { public static ArrayList<String> generateParenthesis(int n) { ArrayList<String> reArrayList=new ArrayList<String>(); String s=new String(); dfs(reArrayList,s,n,n); //DFS的模版递归 dfs(list<E>,E,deep,somethingConstant) return reArrayList; } public static void dfs(ArrayList<String> reArrayList, String s, int left,int right) { // TODO Auto-generated method stub // 先考虑deep极值,此处为left,right个数,直接return if(right<left){ return; } if(left==0&&right==0){ //当括号都用完时,将s存入list中 reArrayList.add(s); return; } if(left>0){ dfs(reArrayList, s+'(', left-1, right); } if(right>0){ dfs(reArrayList, s+')', left, right-1); } } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(generateParenthesis(3)); } }
相关文章推荐
- leetcode 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- LeetCode - 22. Generate Parentheses
- [LeetCode - 回溯] 22. Generate Parentheses
- LeetCode: 22. Generate Parentheses
- 小白笔记----------------------------------leetcode(22. Generate Parentheses )
- Leetcode: 22. Generate Parentheses
- (Leetcode)22. Generate Parentheses
- leetcode--22. Generate Parentheses
- leetcode 22. Generate Parentheses-回溯|递归
- LeetCode 22. Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode刷题记——22. Generate Parentheses(生成括号)
- [leetcode]22. Generate Parentheses
- LeetCode 22. Generate Parentheses (Medium)
- 【Leetcode】22. Generate Parentheses
- leetcode 22. Generate Parentheses
- leetcode No22. Generate Parentheses
- LeetCode 22. Generate Parentheses(构造)