【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
相关推荐
别或许18 小时前
2、高数----数列极限(知识总结)
算法
汀、人工智能18 小时前
[特殊字符] 第78课:乘积最大子数组
数据结构·算法·数据库架构·数组·前缀积·乘积最大子数组
tankeven18 小时前
HJ168 小红的字符串
c++·算法
数据知道18 小时前
claw-code 源码分析:cargo 视角的 definitive runtime——会话、压缩、MCP、提示构造如何落到系统语言?
算法·ai·claude code·claw code
汀、人工智能18 小时前
[特殊字符] 第41课:翻转二叉树
数据结构·算法·数据库架构·图论·bfs·翻转二叉树
2301_8227032018 小时前
大学生体质健康测试全景测绘台:基于鸿蒙Flutter的多维数据可视化与状态管理响应架构
算法·flutter·信息可视化·架构·开源·harmonyos·鸿蒙
鲸渔18 小时前
【C++ 输入输出】cin、cout、cerr 与格式化输出
开发语言·c++·算法
汀、人工智能18 小时前
[特殊字符] 第46课:验证二叉搜索树
数据结构·算法·数据库架构·图论·bfs·验证二叉搜索树
靠沿18 小时前
【递归、搜索与回溯算法】专题三——穷举vs暴搜vs深搜vs回溯vs剪枝
算法·机器学习·剪枝
香蕉鼠片18 小时前
排序算法C++
c++·算法·排序算法