【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

相关推荐
百炼成神 LV@菜哥5 分钟前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin
睡一觉就好了。7 分钟前
快速排序——霍尔排序,前后指针排序,非递归排序
数据结构·算法·排序算法
Tansmjs36 分钟前
C++编译期数据结构
开发语言·c++·算法
金枪不摆鳍37 分钟前
算法-字典树
开发语言·算法
佑白雪乐38 分钟前
<Linux基础11集>电流+二极管+晶体管+存储器
linux
嵌入式郑工42 分钟前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
diediedei43 分钟前
C++类型推导(auto/decltype)
开发语言·c++·算法
one____dream1 小时前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf
独断万古他化1 小时前
【算法通关】前缀和:从一维到二维、从和到积,核心思路与解题模板
算法·前缀和
j_xxx404_1 小时前
Linux:进程程序替换
linux·运维·服务器