我是小张同学,立志用最简洁的代码做最高效的表达


以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言!

传送门——>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道系列相关推荐

  1. Leecode20. 有效的括号——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  2. Leecode31. 下一个排列——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  3. Leecode 21. 合并两个有序链表——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...

  4. Leecode19. 删除链表的倒数第 N 个结点——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...

  5. Leecode17. 电话号码的字母组合——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  6. Leecode15. 三数之和——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  7. Leecode11. 盛最多水的容器——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  8. Leecode07. 整数反转——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  9. Leecode06. Z 字形变换——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

最新文章

  1. Replication--使用MSlogreader_history查看日志读起的延迟和事务命令
  2. vector/list/map/set的插入、删除、遍历 - remove\erase函数
  3. Microsoft主要服务器产品使用的网络端口
  4. 5、(字符串类型)CHAR、VARCHAR、TEXT、ENUM、SET
  5. python学习(四)--POST请求
  6. vue 获取元素在浏览器的位置_前端开发JS获取页面元素的位置
  7. 打包jar文件 外部调用资源 so等
  8. 19.删除链表的倒数第N个节点
  9. [POJ3177]Redundant Paths(双联通)
  10. python杨辉三角编程_Python基础练习实例49(打印杨辉三角)
  11. 进程线程与栈、堆的关系
  12. screw-plus实现php代码安全
  13. How to Install Ruby on Rails on CentOS 6
  14. php 实现顺序查找
  15. GoC编程(C++画图) 视频和资料集 -- 2022.07.26
  16. 口令破解:kali字典工具的使用:CUPP、Crunch、Hydra
  17. Android Patcher应用增量更新(App补丁式更新,无需下载整个apk)
  18. 码神之路博客部署总结补充
  19. 教你如何写Bug:Google Guava源码分析之——Joiner
  20. 『互联网架构』软件架构-软件系统设计(一)

热门文章

  1. 开源浪潮下程序员的职业规划和成长
  2. C++ 类和对象(三):构造函数补充、匿名对象、友元、内部类、类的static与const
  3. Python中json模块的使用,以及json.loads()和json.dumps()的区别
  4. Socket之TCP客户端【Python】
  5. 解决IDEA本地仓库有jar包却无法引用和打包问题
  6. Linux 写时复制机制原理
  7. Flink 还是 Spark?阿里技术专家一语道破真相!
  8. 广播IP转型报告:2021年广播公司面临的最大挑战
  9. Cmake的CMakeLists.txt写法示例
  10. Linux 运维工具