当前位置:网站首页>Leetcode22:括号生成
Leetcode22:括号生成
2022-04-23 10:07:00 【VipPeterGee】
题目
- 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合
解法
private static List<String> generate(int n) {
List<String> dataList=new ArrayList<>();
if (n==0)return dataList;
dfs("",n,n,dataList);
return dataList;
}
- DFS做减法方式
private static void dfs(String current, int left, int right, List<String> dataList) {
// 递归结束添加到list中
if (left==0&&right==0){
dataList.add(current);
return;
}
if (left>right){
return;
}
if (left>0){
dfs(current+"(",left-1,right,dataList);
}
if (right>0){
dfs(current+")",left,right-1,dataList);
}
}
- DFS做加法方式
private static void dfsIncrease(String current, int left, int right,int length, List<String> dataList) {
// 递归结束添加到list中
if (left==length&&right==length){
dataList.add(current);
return;
}
if (left<right){
return;
}
if (left<length){
dfsIncrease(current+"(",left+1,right,length,dataList);
}
if (right<length){
dfsIncrease(current+")",left,right+1,length,dataList);
}
}
- 参考: https://leetcode-cn.com/problems/generate-parentheses/solution/hui-su-suan-fa-by-liweiwei1419/
版权声明
本文为[VipPeterGee]所创,转载请带上原文链接,感谢
https://blog.csdn.net/sinat_35241409/article/details/124338347
边栏推荐
猜你喜欢
随机推荐
Interviewer: let's talk about some commonly used PHP functions. Fortunately, I saw this article before the interview
MapReduce计算流程详解
通过流式数据集成实现数据价值(3)- 实时持续数据收集
C language: expression evaluation (integer promotion, arithmetic conversion...)
Pyqt5 and communication
Chapter I Oracle database in memory related concepts (Continued) (im-1.2)
JUC concurrent programming 09 -- source code analysis of condition implementation
DBA常用SQL语句(2)— SGA和PGA
art-template 模板引擎
DBA common SQL statements (5) - latch related
[ACM-ICPC 2018 Shenyang Network preliminaries] J. Ka Chang (block + DFS sequence)
通过流式数据集成实现数据价值(4)-流数据管道
Yarn核心参数配置
SQL tuning series - Introduction to SQL tuning
Juc并发编程06——深入剖析队列同步器AQS源码
工业元宇宙平台规划与建设
2022年广东省安全员A证第三批(主要负责人)考试试题及答案
实践六 Windows操作系统安全攻防
JUC concurrent programming 06 -- in-depth analysis of AQS source code of queue synchronizer
Ansible cloud computing automation command line compact version







