首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >22. 括号生成

22. 括号生成

作者头像
致Great
发布2022-05-13 19:10:18
1790
发布2022-05-13 19:10:18
举报
文章被收录于专栏:程序生活程序生活

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

示例 1:

输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2:

输入:n = 1 输出:["()"]

class Solution(object):
    def generateParenthesis(self, n):
        res = []
        def backtrack(in_idx, out_idx, tmp_res):
            if out_idx > n or in_idx > n:
                return
            if len(tmp_res) == 2*n:
                res.append(tmp_res)
                return
            if n-in_idx:
                backtrack(in_idx+1, out_idx, tmp_res+'(')
            if in_idx-out_idx:
                backtrack(in_idx, out_idx+1, tmp_res+')')
        backtrack(0,0,'')
        return res
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档