题解 | #括号生成#

括号生成

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😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
11-14 16:13
已编辑
重庆科技大学 测试工程师
Amazarashi66:不进帖子我都知道🐮❤️网什么含金量
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务