leetcode 22. 括号生成

题目如下

复制代码
因为题目中的括号只有一种组成括号的只有"("和")"故我们可以通过暴力搜索出答案("("和")"一样都只有两种状态放与不放且我们是从左到右生成的)。
那么,如何保证暴力搜索出的字符串是正确的括号对呢?
在回答这个问题之前我们来思考不正确的括号对是如何生成的吧
显然按照我们的生成方案当右括号多于左括号时括号对不正确。
所以我们通过数量限制来解决这些不正确的情况。

通过代码

cpp 复制代码
class Solution {
public:
void back(vector<string> &ans,int n,int left,int right,string s) {
    if(left + right == n * 2) {
        ans.push_back(s);
        return;
    }
    if(left < n) {
        back(ans,n,left + 1,right,s + "(");
    }
    if(right < left) {
        back(ans,n,left,right + 1,s + ")");
    }
}
vector<string> generateParenthesis(int n) {
        vector<string> ans;
        back(ans,n,0,0,"");
        return ans;
}

};
相关推荐
小园子的小菜2 小时前
深入理解 JVM 垃圾回收:从对象判定、回收算法到经典收集器全解析
jvm·算法
hold?fish:palm2 小时前
7 接雨水
开发语言·c++·leetcode
2601_954526752 小时前
【硬核长文】从卡门涡街物理方程到边缘网关温压补偿算法:工业蒸汽测控实战,深度解密靠谱的涡街流量计厂家有哪些
算法
吞下星星的少年·-·2 小时前
牛客技能树:区间翻转
算法·滑动窗口
郝学胜-神的一滴3 小时前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl
拂拉氏3 小时前
【知识讲解】 链式哈希表的实现与unordered_map和unordered_set的封装
数据结构·哈希算法·散列表
haolin123.3 小时前
数据结构--二叉树
数据结构
tkevinjd3 小时前
力扣148-排序链表
算法·leetcode·链表
不如语冰3 小时前
AI大模型入门-参数的传递
数据结构·人工智能·pytorch·python
ch0sen1pm3 小时前
刚学完 CAS 原子操作,我花了一晚上写了三个无锁队列
c++