22. Generate Parentheses
Medium
Given n
pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
Example 1:
Input: n = 3
Output: ["((()))","(()())","(())()","()(())","()()()"]
Example 2:
Input: n = 1
Output: ["()"]
Constraints:
1 <= n <= 8
class Solution:
def generateParenthesis(self, n: int) -> List[str]:
result = []
def recursion(start, end, path):
if start == 0 and end == 0:
result.append(path[:])
if start > 0:
recursion(start-1, end, path + '(')
if end > 0 and end > start:
recursion(start, end-1, path + ')')
recursion(n,n,'')
return result
Last updated