【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
相关推荐
别动我齐刘海7 小时前
简历技术栈全面复习总结
c++·人工智能·深度学习·学习·tcp/ip·算法·rpc
hetao17338377 小时前
2026-10-03 hetao1733837 的刷题记录
c++·算法
这张生成的图像能检测吗7 小时前
(论文速读)Object-Driven Multi-Layer Scene Decomposition:从单张图像恢复遮挡后的多层场景
人工智能·算法·计算机视觉·rgb-d·场景分解
嘎嘎风7 小时前
MiniMind 学习笔记之 01 一个 64M 的模型,凭什么像 ChatGPT?
算法
Evand J7 小时前
【MATLAB例程】三维快速扩展随机树(RRT)路径规划与到达角(AOA)定位算法|三维避障+定位仿真。附下载链接
开发语言·算法·matlab·路径规划·定位
漂流瓶jz8 小时前
UVA-1610 聚会游戏 题解答案代码 算法竞赛入门经典第二版
数据结构·c++·算法·题解·aoapc·算法竞赛入门经典·uva
yyy(十一月限定版)8 小时前
CF2131D Arboris Contractio
算法
朝朝辞暮i8 小时前
C++ 第 28 课:Lambda 表达式
开发语言·c++·算法
代码什么用8 小时前
LeetCode-560.和为 K 的子数组
算法·leetcode
All for pursuit.8 小时前
【回溯-3】39.组合总和
数据结构·c++·算法·leetcode