给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。

例如,给出 n = 3,生成结果为:

[
“((()))”,
“(()())”,
“(())()”,
“()(())”,
“()()()”
]

——————
解法:图片来源于leetcode中的liweiwei大牛,有兴趣的可以了解一下这位大牛的解法。

使用回溯算法,C++代码如下:

class Solution {private:vector<string> str;
public:vector<string> generateParenthesis(int n) {if(n<=0)  # 特殊情况,直接返回空集return str;string s; # 用于存储不断遍历时的中间值function(n,n,s);  # 递归函数return str;}void function(int l,int r,string s){if(l==0 && r==0)  # 当左右括号的个数为零的时候,返回该字符串{str.push_back(s);return;}if(l>0)  # 每遍历到一个点,有两种情况。第一种情况是加左括号{function(l-1,r,s + '(');}if(r>l && r>0)  # 第二种情况是加右括号 {function(l,r-1,s + ')');}}
};

leetcode - 22. 括号生成相关推荐

  1. [DFS|剪枝] leetcode 22 括号生成

    [DFS|剪枝] leetcode 22 括号生成 1.题目 题目链接 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合. 示例: 输入:n = 3 输出:[& ...

  2. Leetcode 22. 括号生成(递归+去重)

    22. 括号生成 思路: 递归+map去重: 递归函数声明: vector<string> generateParenthesis(int n); 递归出口: 当n=1时,返回{" ...

  3. LeetCode 22. 括号生成(回溯/DP)

    文章目录 1. 题目 2. 解题 2.1 暴力回溯 2.2 DP 1. 题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结 ...

  4. leetcode 22. 括号生成

    难度:中等 频次:62 题目: 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合. 解题思路:DFS DFS注意 构造一棵树,只要遍历就行了 递归结束条件是 ...

  5. Leetcode 22.括号生成 (每日一题 20210623)

    数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合.示例 1:输入:n = 3 输出:["((()))","(()())&quo ...

  6. LeetCode 22. 括号生成(Generate Parentheses)

    题目描述 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n =3,生成结果为: ["((()))","(()() ...

  7. LeetCode 22. 括号生成(回溯+剪枝)

    题目描述 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 思路 详见链接 代码 from typing import List class Solution ...

  8. leetcode 22.括号生成

    题目 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合. 例如,给出 n = 3,生成结果为: [ "((()))", "(()( ...

  9. LeetCode 22 括号生成

    https://leetcode-cn.com/problems/generate-parentheses/ 解决方案 class Solution {List<String> ans = ...

最新文章

  1. 总结ISO各层协议都有哪些
  2. 业务层面缓存穿透的解决方案
  3. JAVA垃圾回收器的介绍
  4. 45页的NAS神经网络搜索的综述,请查收!
  5. 有关于idea快捷键冲突的问题
  6. [BZOJ 2957]楼房重建(线段树)
  7. C# 延时小函数 很好用
  8. 什么时候学习编程都不晚
  9. pyclewn调试带参数程序
  10. BZOJ 4552 [Tjoi2016Heoi2016]排序 ——线段树 二分答案
  11. 计蒜客模拟赛D2T3 蒜头君救人:用bfs转移状压dp
  12. 除了迅雷外,还有什么靠谱的BT下载软件?
  13. Java 访问权限控制:public、private、protected
  14. TD-LTE原理及其关键技术介绍
  15. 智能驾驶汽车之自动泊车发展阶段
  16. QT5.14.1实现界面开场动画
  17. iOS 开发者账号持有人转让最新方式
  18. 机刷——App推广作弊内幕系列
  19. java打桩_使用JUnit4与JMockit进行打桩测试
  20. IE-LAB网络实验室:思科ccie,sp ccie 思科ccnp CCIE与HCIE哪个更好找工作

热门文章

  1. 分布式面试 - 分布式服务接口请求的顺序性如何保证?
  2. 结构设计模式 - Flyweight设计模式(享元设计模式)
  3. C语言,功能一、利用一维数组和选择法对成绩高低排序,功能二、输出对应的学号,功能三、查找对应学生成绩
  4. Emmet 语法 速查表
  5. 地表最强mysql命令行连接工具mycli
  6. ux和产品经理_为什么您的产品团队需要UX研究人员
  7. gatsby_如何使用Gatsby和MDX从头开始构建编码博客
  8. filter wiz_Grid Wiz简介:只需一瞬间即可制作出具有自定义浏览器支持CSS网格框架。
  9. mysql 重置表索引_MySQL如何进行索引重建操作?
  10. python问题分享_零基础入门Python常见问题分享