Generate Parentheses
来源:互联网 发布:网络社会组织 编辑:程序博客网 时间:2024/05/19 13:59
题目: Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
大意是:给定n对圆括号,要求将所有合法的圆括号序列找出来
/*
解题思路:采用递归,当左括号的个数小于n的时候,就产生一个左括号,当右括号个数小于左括号的个数就产生右括号
*/
public List<String> generateParenthesis(int n) {
ArrayList<String> result=new ArrayList<String>();
if(n==0){
return result;
}
StringBuilder sb=new StringBuilder();
gen(result,sb,0,n,0,0);
return result;
}
public void gen(ArrayList<String> result,StringBuilder sb,int len,int n,int left,int right){
if(len==2*n){
result.add(sb.toString());
return;
}
if(left<n){
sb.append('(');
gen(result,sb,len+1,n,left+1,right);
sb.deleteCharAt(sb.length()-1);
}
if(right<left){
sb.append(')');
gen(result,sb,len+1,n,left,right+1);
sb.deleteCharAt(sb.length()-1);
}
}
阅读全文
0 0
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- 排序算法
- jass 重置英雄
- Python数据分析基础(四)——数据文件处理
- 你要知道的游戏开发新手入门指南
- springmvc 整合 swagger2
- Generate Parentheses
- 端口分类调研
- java的BIO实现
- Python数据分析基础(五)——数据规整
- 移动端1px像素设置
- 3 Composer难理解?那么说明你对PHP这些功能不了解
- 省队集训Round2 DAY2
- jQuery源码阅读(一)---jQuery源码整体架构
- Java数据类型