题解 | #括号生成#

括号生成

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @return string字符串一维数组
#
class Solution:
    '''
    通过递归的方式,不断尝试添加左括号和右括号,直到生成了所有有效的括号组合。
    左括号>右括号的时候才能添加右括号
    '''
    res = []
    def recursion(self,left,right,n,tmp):
        if left == n and right == n:
            self.res.append(tmp)
        if left < n:
            self.recursion(left+1,right,n,tmp+'(')
        if right < left:
            self.recursion(left,right+1,n,tmp+')')

    def generateParenthesis(self , n: int) -> list[str]:
        # write code here
        self.recursion(0,0,n,'')
        return self.res

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务