【LeetCode】括号生成

目录


一、题目

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

示例 1:

输入:n = 3

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

示例 2:

输入:n = 1

输出:["()"]

提示:

1 <= n <= 8


二、解法

回溯,优先放置左括号,两个边界条件,一个是正常的,即左右都放完了,还有一个是异常的,也就是左边剩余的比右边多,直接return就好了


完整代码

python 复制代码
class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        res = []
        path = ''
        def backtrack(left, right, path):
            if left > right:
                return
            if left == right == 0:
                return res.append(path)
            if left:
                backtrack(left - 1, right, path + '(')
            if right:
                backtrack(left, right - 1, path + ')')
        backtrack(n, n, '')
        return res

相关推荐
24白菜头2 分钟前
2026-2-9:LeetCode每日一题(动态规划专项)
数据结构·笔记·学习·算法·leetcode
BOTTLE_平8 分钟前
C++图论全面解析:从基础概念到算法实践
c++·算法·图论
Lenyiin8 分钟前
《 C++ 修炼全景指南:二十四 》彻底攻克图论!轻松解锁最短路径、生成树与高效图算法
c++·算法·图论·邻接表·邻接矩阵·最小生成树·最短路径
盟接之桥8 分钟前
制造业EDI数字化:连接全球供应链的桥梁
linux·运维·服务器·网络·人工智能·制造
YGGP12 分钟前
【Golang】LeetCode 41. 缺失的第一个正数
算法·leetcode·职场和发展
田里的水稻13 分钟前
FA_规划和控制(PC)-动态窗口(DWA)
人工智能·算法·数学建模·机器人·自动驾驶
一点多余.14 分钟前
openGauss 企业版安装全流程指南
linux·数据库·opengauss·企业版
Katecat9966317 分钟前
【YOLOv8+CAA+HSFPN】频率检测识别算法改进与实现_1
算法·yolo
卷卷的小趴菜学编程17 分钟前
项目篇----使用基数树对性能进行优化
算法·tcmalloc
CHANG_THE_WORLD19 分钟前
深入指针4 - 学习笔记整理
笔记·学习·算法