2024-09-01
算法刷题
00

算法刷题

22. 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"]
python
class Solution: def generateParenthesis(self, n: int) -> List[str]: def dfs(sol: str, left: int, right: int): if left == 0 and right == 0: res.append(sol[:]) return if left == right: dfs(sol + "(", left - 1, right) # 使用一个左括号 elif left < right: if left: dfs(sol + "(", left - 1, right) # 剩余左括号小于右括号,可以选择性来个括号 dfs(sol + ")", left, right - 1) res = [] dfs("", n, n) return res
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!