题解 | #括号生成#

括号生成

https://www.nowcoder.com/practice/c9addb265cdf4cdd92c092c655d164ca

class Solution:
    def generateParenthesis(self, n: int) -> List[str]:
        def backtrack(path, left, right, res):
            if len(path) == 2 * n:  # 当括号数量达到2n时,说明已经形成了一个合法的组合
                res.append(path)
                return
            if left < n:  # 当左括号数量小于n时,可以添加一个左括号
                backtrack(path + "(", left + 1, right, res)
            if right < left:  # 当右括号数量小于左括号数量时,可以添加一个右括号
                backtrack(path + ")", left, right + 1, res)

        res = []
        backtrack("", 0, 0, res)
        return res

全部评论

相关推荐

07-07 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务