给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
例如,给出 n = 3,生成结果为:
[ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/generate-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
这一题归类在回溯算法下,很容易就想到了回溯算法,我写出来的版本:
class Solution:
def __init__(self):
self.ans = []
def generateParenthesis(self, n: int) -> List[str]:
self.generate(n*2,0,'')
return self.ans
def generate<