--- title: "#22 Generate Parentheses" tags: LeetCode, Top100 --- #22 Generate Parentheses == 題目描述 -- Given ==n== pairs of parentheses, write a function to *generate all combinations of well-formed parentheses*. Example 1: -- >Input: n = 3 Output: ["((()))","(()())","(())()","()(())","()()()"] 解題思維 -- 利用遞迴,且限制 ==")"== 必須在有 =="("== 的形況產生。 Recursive -- ```python= class Solution: def generateParenthesis(self, n: int) -> List[str]: res = [] def recursive(thisP, left, right): if left == 0 or right == 0: thisP += ")"*right return res.append(thisP) recursive(thisP+"(", left-1, right) if right > left: recursive(thisP+")", left, right-1) left, right = n, n recursive("", left, right) return res ```