【LeetCode】22. 括号生成

1 问题

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

示例 1:

输入:n = 3

输出:["((()))","(()())","(())()","()(())","()()()"]

示例 2:

输入:n = 1

输出:["()"]

2 答案

这题直接不会

官方解利用回溯算法

深度优先遍历

python 复制代码
class Solution:
    def generateParenthesis(self, n: int) -> List[str]:

        res = []
        cur_str = ''

        def dfs(cur_str, left, right):
            if left ==0 and right == 0:
                res.append(cur_str)
                return
            if left > right:
                return
            if left > 0:
                dfs(cur_str+'(', left-1, right)
            if right > 0:
                dfs(cur_str+')', left, right-1)

        dfs(cur_str, n, n)
        return res
相关推荐
CoderYanger3 分钟前
动态规划算法-路径问题:7.礼物的最大价值
开发语言·算法·leetcode·动态规划·1024程序员节
蕓晨4 分钟前
钱币找零问题-贪心算法解析
c++·算法·贪心算法
hetao173383710 分钟前
2025-12-04 hetao1733837的刷题记录
c++·算法
mjhcsp13 分钟前
C++ 后缀自动机(SAM):原理、实现与应用全解析
java·c++·算法
gihigo199816 分钟前
一维光栅结构严格耦合波分析(RCWA)求解器
算法
海边夕阳200627 分钟前
【每天一个AI小知识】:什么是人脸识别?
人工智能·经验分享·python·算法·分类·人脸识别
liu****28 分钟前
13.数据在内存中的存储
c语言·开发语言·数据结构·c++·算法
我不会写代码njdjnssj35 分钟前
贪心算法+动态规划
算法·贪心算法·动态规划
Unstoppable2237 分钟前
代码随想录算法训练营第 55 天 | 53. 寻宝(Prim + Kruskal)
数据结构·算法··kruskal·prim
橘颂TA39 分钟前
【剑斩OFFER】算法的暴力美学——数青蛙
算法·leetcode·动态规划·结构与算法