题目:给出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