回溯-dfs-力扣,括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的括号组合。

示例 1:

复制代码
输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

复制代码
输入:n = 1
输出:["()"]

提示:

  • 1 <= n <= 8
cpp 复制代码
class Solution {
public:
     vector<string> generateParenthesis(int n) {
             vector<string> res;     
                getS("",n,n,res);
                  return res ;
    }
 void  getS(string s,int left,int right, vector<string>& res)
          {
               if(!left&&!right){
                res.push_back(s);
                  return;
               }

               if(left){
                 
                  getS(s+"(",left-1,right,res);
               }
               if(right&&right>left)   //剩下的越多,用到的越少
                {
                   
                     getS(s+")",left,right-1,res);
                }
          }

};
相关推荐
点云SLAM12 小时前
Boost库中Math 模块的插值(interpolation使用和示例
算法·插值·boost库·b-spline·akima 样条·单调三次样条·barycentric 插值
鸭子程序员12 小时前
c++ 算法
开发语言·c++·算法
Ghost-Face12 小时前
《逆袭导论》————初中生的宝书
算法
不会c嘎嘎13 小时前
算法百练,直击OFFER -- day5
c++·算法
Aileen_0v013 小时前
【Gemini3.0的国内use教程】
android·人工智能·算法·开源·mariadb
CoderYanger13 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
乌萨奇也要立志学C++13 小时前
【洛谷】二分查找专题 告别二分死循环!模板 + 细节 + 实战
c++·算法
Rock_yzh13 小时前
LeetCode算法刷题——128. 最长连续序列
数据结构·c++·算法·哈希算法
WolfGang00732113 小时前
代码随想录算法训练营Day32 | 518.零钱兑换II、377. 组合总和 Ⅳ、70. 爬楼梯(进阶)
算法
2501_9416233219 小时前
智慧农业监控平台中的多语言语法引擎与实时决策实践
leetcode