数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。例如n = 1,输出:["()"]
class Solution:
def generateParenthesis(self, n: int) -> List[str]:
res=[]
cur_str=''
def dfs(cur_str,left,right):
'''
cur_str:根节点到叶子节点路径的字符串
left:可用的左括号数
right:可用的右括号数
'''
if left==0 and right==0:res.append(cur_str)
if right<left:return
if left>0:dfs(cur_str+'(',left-1,right)
if right>0:dfs(cur_str+')',left,right-1)
dfs(cur_str,n,n)
return res
标签:right,cur,括号,--,dfs,Python,str,left
From: https://blog.51cto.com/u_15944471/6273811