0
点赞
收藏
分享

微信扫一扫

括号生成--Python解法

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。例如n = 1,输出:["()"]

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        res=[]
        cur_str=''
        def dfs(cur_str,left,right):
            '''
            cur_str:根节点到叶子节点路径的字符串
            left:可用的左括号数
            right:可用的右括号数
            '''
            if left==0 and right==0:res.append(cur_str)
            if right<left: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
举报

相关推荐

0 条评论