Leecode22. 括号生成——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达
以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言!
传送门——>Leecode大厂热题100道系列题解
问题描述
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
有效括号组合需满足:左括号必须以正确的顺序闭合。
示例 1:
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:
输入:n = 1
输出:["()"]
提示:
1 <= n <= 8
思路
用dfs暴力搜索即可。 注意这里的dfs回溯参数可以不存在,一直以参数的形式呈现, 有点类似于递归。
class Solution {public:vector<string>res;vector<string> generateParenthesis(int n) {dfs(n, 0, 0, "");return res;}void dfs(int n, int lc, int rc, string s) {if(lc == n && rc == n) {res.push_back(s);return;}if(lc < n) dfs(n, lc + 1, rc, s + "(");if(rc < n && rc < lc) dfs(n, lc, rc + 1, s + ")");}
};
Leecode22. 括号生成——Leecode大厂热题100道系列相关推荐
- Leecode20. 有效的括号——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode31. 下一个排列——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode 21. 合并两个有序链表——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...
- Leecode19. 删除链表的倒数第 N 个结点——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...
- Leecode17. 电话号码的字母组合——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode15. 三数之和——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode11. 盛最多水的容器——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode07. 整数反转——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
- Leecode06. Z 字形变换——Leecode大厂热题100道系列
我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...
最新文章
- Replication--使用MSlogreader_history查看日志读起的延迟和事务命令
- vector/list/map/set的插入、删除、遍历 - remove\erase函数
- Microsoft主要服务器产品使用的网络端口
- 5、(字符串类型)CHAR、VARCHAR、TEXT、ENUM、SET
- python学习(四)--POST请求
- vue 获取元素在浏览器的位置_前端开发JS获取页面元素的位置
- 打包jar文件 外部调用资源 so等
- 19.删除链表的倒数第N个节点
- [POJ3177]Redundant Paths(双联通)
- python杨辉三角编程_Python基础练习实例49(打印杨辉三角)
- 进程线程与栈、堆的关系
- screw-plus实现php代码安全
- How to Install Ruby on Rails on CentOS 6
- php 实现顺序查找
- GoC编程(C++画图) 视频和资料集 -- 2022.07.26
- 口令破解:kali字典工具的使用:CUPP、Crunch、Hydra
- Android Patcher应用增量更新(App补丁式更新,无需下载整个apk)
- 码神之路博客部署总结补充
- 教你如何写Bug:Google Guava源码分析之——Joiner
- 『互联网架构』软件架构-软件系统设计(一)
热门文章
- 开源浪潮下程序员的职业规划和成长
- C++ 类和对象(三):构造函数补充、匿名对象、友元、内部类、类的static与const
- Python中json模块的使用,以及json.loads()和json.dumps()的区别
- Socket之TCP客户端【Python】
- 解决IDEA本地仓库有jar包却无法引用和打包问题
- Linux 写时复制机制原理
- Flink 还是 Spark?阿里技术专家一语道破真相!
- 广播IP转型报告:2021年广播公司面临的最大挑战
- Cmake的CMakeLists.txt写法示例
- Linux 运维工具