【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
相关推荐
fashion 道格4 分钟前
深入理解队列的艺术
数据结构·算法
大白IT5 分钟前
第四部分:决策规划篇——汽车的“大脑”(第8章:行为决策——车辆的“驾驶策略师”)
人工智能·算法·机器学习
minji...9 分钟前
C++ AVL树(二叉平衡搜索树)的概念讲解与模拟实现
数据结构·c++·b树·算法·avl
CNRio24 分钟前
ZUC国密算法深度研究:原理、实现与应用(Python、Rust)
python·算法·rust
星期天229 分钟前
【无标题】
数据结构·c++·算法
老李四1 小时前
Java 内存分配与回收策略
java·jvm·算法
做怪小疯子1 小时前
LeetCode 热题 100——普通数组——除自身以外数组的乘积
数据结构·算法·leetcode
稚辉君.MCA_P8_Java2 小时前
DeepSeek Java 插入排序实现
java·后端·算法·架构·排序算法
池塘的蜗牛2 小时前
NR系统相位补偿的原因与原理
算法
Sɪʟᴇɴᴛ໊ོ2353 小时前
Anyview数据结构第一章(按需自取)
c语言·开发语言·数据结构·算法