Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
For example, given n = 3, a solution set is:
[ "((()))", "(()())", "(())()", "()(())", "()()()" ]
------------------------------
Simple codes:
class Solution:
def generateParenthesis(self, n: int) -> List[str]:
res = []
def backtrack(p, left, right):
nonlocal res
if (left > 0):
backtrack(p + "(", left-1, right)
if (left < right):
backtrack(p + ")", left, right-1)
if (right == 0):
res.append(p)
backtrack("", n, n)
return res

本文介绍了一个使用回溯法生成所有合法括号组合的算法。给定一个正整数n,该算法将生成所有可能的由n对括号组成的合法字符串。合法字符串要求左括号和右括号的数量相等,并且任意位置的左括号数量都不小于右括号数量。
816

被折叠的 条评论
为什么被折叠?



