Skip to content

Commit ee6474f

Browse files
committed
feat: add generate parens
1 parent 4705a63 commit ee6474f

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

generateparens.py

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"""Generate balanced parentheses
2+
"""
3+
4+
5+
def generate_parenthesis(n: int) -> list:
6+
ans = []
7+
def generate(open: int, close: int, gen: str):
8+
if open == n and close == n:
9+
ans.append(gen)
10+
return
11+
if open < n:
12+
generate(open + 1, close, gen + '(')
13+
if open > close:
14+
generate(open, close+1, gen + ')')
15+
16+
generate(0, 0, "")
17+
return ans
18+
19+
20+
if __name__ == "__main__":
21+
print(generate_parenthesis(3))
22+
# => ['()(())', '()()()', '(())()', '(()())', '((()))']

0 commit comments

Comments
 (0)