【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

相关推荐
脱氧核糖核酸__13 小时前
LeetCode热题100——206.反转链表(迭代法)
c++·leetcode·链表
|_⊙14 小时前
C++ 哈希
算法·哈希算法·散列表
旧故新长14 小时前
部署自动发卡网站的问题和解决方案
linux·docker
万粉变现经纪人14 小时前
如何解决 pip install bitsandbytes 报错 仅支持 Linux+glibc(macOS/Windows 失败)问题
linux·运维·windows·python·scrapy·macos·pip
睡觉就不困鸭14 小时前
第十九天 删除字符串中的所有相邻重复项 栈的经典应用。
算法
小O的算法实验室14 小时前
2026年AST,复杂边界环境下多无人机协同搜索攻击+分形智能自组织任务规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
测绘第一深情14 小时前
租用GPU云服务器进行深度学习(AutoDL,超保姆级,适用新手)
数据结构·人工智能·经验分享·python·深度学习·算法·计算机视觉
计算机安禾14 小时前
【Linux从入门到精通】第25篇:循环结构——重复造轮子的终结者
linux·运维·chrome
北顾笙98014 小时前
day34-数据结构力扣
数据结构·算法·leetcode
vortex514 小时前
守护开源世界的猎犬:ClamAV 软件包介绍
linux·网络安全