题解 | #括号生成#
括号生成
https://www.nowcoder.com/practice/c9addb265cdf4cdd92c092c655d164ca
class Solution: def generateParenthesis(self, n: int) -> List[str]: def backtrack(path, left, right, res): if len(path) == 2 * n: # 当括号数量达到2n时,说明已经形成了一个合法的组合 res.append(path) return if left < n: # 当左括号数量小于n时,可以添加一个左括号 backtrack(path + "(", left + 1, right, res) if right < left: # 当右括号数量小于左括号数量时,可以添加一个右括号 backtrack(path + ")", left, right + 1, res) res = [] backtrack("", 0, 0, res) return res