题目
https://leetcode.com/problems/generate-parentheses/
leetcode:22. Generate Parentheses 生成括号对
描述
For example, given n = 3, a solution set is:
[
\"((()))\",
\"(()())\",
\"(())()\",
\"()(())\",
\"()()()\"
]
import java.util.*;
class Solution {
public List<String> generateParenthesis(int n) {
List<String> result=new ArrayList<>();
backTrack(n,result,new StringBuilder(),0,0);
return result;
}
private void backTrack(int n,List<String> result,StringBuilder sb,int openCount,int closeCount) {
if(sb.length()==2*n){
result.add(sb.toString());
return;
}
if(openCount<n){
backTrack(n,result,sb.append(\"(\"),openCount+1,closeCount);
sb.deleteCharAt(sb.length()-1);
//openCount--;
}
if(closeCount<openCount){
backTrack(n,result,sb.append(\")\"),openCount,closeCount+1);
sb.deleteCharAt(sb.length()-1);
//closeCount--;
}
}
}
继续阅读与本文标签相同的文章
下一篇 :
ORACLE 常用函数——转换函数
-
实时计算Flink on Kubernetes产品模式介绍
2026-05-18栏目: 教程
-
重磅|阿里云HBase Ganos全新升级,推空间、时空、遥感一体化基础云服务
2026-05-18栏目: 教程
-
Apache Flink 1.9.0版本新功能介绍
2026-05-18栏目: 教程
-
新功能初探 | RDS MySQL 8.0 支持 DML 语句 returning
2026-05-18栏目: 教程
-
浅谈分布式计算的开发与实现(二)
2026-05-18栏目: 教程
