题解 | #括号生成#

括号生成

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

全部评论

相关推荐

无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务