LeetCode热题100-括号生成

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

示例 1:

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

核心规则

  1. 左括号数量 ≤ n
  2. 右括号数量 不能超过 左括号(避免 )( 非法)
  3. 左右都用完就收集答案
python 复制代码
class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        res = []

        def dfs(path, left, right):
            if left == n and right == n:
                res.append(path)
                return
            if left < n:
                dfs(path + "(", left + 1, right)
            if right < left:
                dfs(path + ")", left, right + 1)
        
        dfs("", 0, 0)
        return res
相关推荐
zhanghaha131418 小时前
HTML系列教程:4_什么是 HTML 元素(零基础超详细讲解)
前端·算法·html
TAN-90°-18 小时前
Deep Learning for Computer Vision——Training CNNs and CNN Architectures
人工智能·深度学习·神经网络·算法·机器学习·计算机视觉·cnn
0x3F(小茶)18 小时前
Tokenization(分词算法):一切大语言模型的地基
人工智能·算法·语言模型
Keven_1118 小时前
算法札记:利用floyd判环算法优化SPFA判负环算法
算法·spfa判负环
mCell1 天前
Lua 编程入门:从基础语法到元表
javascript·算法·lua
wuyk5551 天前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
峥无1 天前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
不会代码的小猴1 天前
3. 控件学习1
开发语言·c++·笔记·qt·算法
碳基猿1 天前
案例|普通内容创作者如何利用 CreBee 打造个人内容创业系统:从一个账号到多平台内容资产矩阵
职场和发展·新媒体运营·创业创新·程序员创富·新媒体矩阵