【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
相关推荐
Omigeq16 分钟前
1.4 - 曲线生成轨迹优化算法(以BSpline和ReedsShepp为例) - Python运动规划库教程(Python Motion Planning)
开发语言·人工智能·python·算法·机器人
网络工程小王38 分钟前
【大模型(LLM)的业务开发】学习笔记
人工智能·算法·机器学习
y = xⁿ39 分钟前
【Leet Code 】滑动窗口
java·算法·leetcode
WBluuue42 分钟前
数据结构与算法:二项式定理和二项式反演
c++·算法
nianniannnn42 分钟前
力扣104.二叉树的最大深度 110. 平衡二叉树
算法·leetcode·深度优先
_深海凉_1 小时前
LeetCode热题100-只出现一次的数字
算法·leetcode·职场和发展
nianniannnn1 小时前
力扣206.反转链表 92.反转链表II
算法·leetcode·链表
澈2071 小时前
哈希表实战:从原理到手写实现
算法·哈希算法
旖-旎1 小时前
哈希表(存在重复元素||)(4)
数据结构·c++·算法·leetcode·哈希算法·散列表
Run_Teenage1 小时前
Linux:认识信号,理解信号的产生和处理
linux·运维·算法