Leetcode 22 Generate Parentheses
2017-08-17 17:47
387 查看
题目来源:leetcode
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
思想:来自http://blog.csdn.net/uknowfigo/article/details/44095097
想到了回溯,写不出dfs,尴尬如图:
代码
/**
* 递归
* Created by a819 on 2017/8/17.
*/
import java.util.*;
public class GenerateParenthese {
public List<String> generateParenthesis(int n) {
List<String> result=new LinkedList<>();
if (n==0)
return result;
dfs(result,"",n,n);
return result;
}
public void dfs(List<String> result,String s,int left,int right){
if (left>right||left<0||right<0)
return;
if (left==0&&right==0)
result.add(s);
4000
dfs(result,s+"(",left-1,right);
dfs(result,s+")",left,right-1);
}
}
相关文章推荐
- LeetCode 22 Generate Parentheses (DFS 构造)
- leetcode-22 Generate Parentheses
- [leetcode 22] Generate Parentheses
- LeetCode 22 Generate Parentheses(找到所有匹配的括号组合)
- leetcode-22-Generate Parentheses
- LeetCode_22 Generate Parentheses
- 【LeetCode】【Array】【22】Generate Parentheses
- leetcode-22 Generate Parentheses
- [leetcode] 22 Generate Parentheses(递归)
- 【LeetCode】C# 22、Generate Parentheses
- Generate Parentheses - LeetCode 22
- Leetcode Generate Parentheses 22
- LeetCode 22 Generate Parentheses
- LeetCode 22_Generate Parentheses
- [Leetcode 22, Medium] Generate Parentheses
- LeetCode 22:Generate Parentheses
- Leetcode-22: Generate Parentheses
- [Leetcode] 22- Generate Parentheses
- 【LeetCode 22】Generate Parentheses
- leetcode-22-Generate Parentheses