22.括号生成--python

题目:给出n代表生成括号的对数,要求生成所有可能的并有效的括号组合

法:深搜,left与right分别表示还可以生成的左右括号的个数,但要注意的是只有right>left时,才可以生成一个右括号

 def generateParenthesis(self, n):
        """
        :type n: int
        :rtype: List[str]
        """
        self.res=[]
        def helper(path,left,right):
            if left==0 and right==0:self.res.append(path)
            if left>0:helper(path+"(",left-1,right)
            if right>left:helper(path+")",left,right-1)
            
        helper('',n,n)
        return self.res

猜你喜欢

转载自blog.csdn.net/karen17/article/details/88889832