-
Notifications
You must be signed in to change notification settings - Fork 0
/
22_generate_parentheses.py
33 lines (30 loc) · 1.03 KB
/
22_generate_parentheses.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# class Solution(object):
# def generateParenthesis(self, n):
# """
# :type n: int
# :rtype: List[str]
# """
class Solution(object):
def generateParenthesis(self, n):
if n == 1:
return ['()']
last_list = self.generateParenthesis(n - 1)
res = []
for t in last_list:
curr = t + ')'
for index in range(len(curr)):
if curr[index] == ')':
res.append(curr[:index] + '(' + curr[index:])
return list(set(res))
# def generateParenthesis(self, n):
# def generate(leftnum, rightnum, s, result):
# if leftnum == 0 and rightnum == 0:
# result.append(s)
# if leftnum > 0:
# generate(leftnum - 1, rightnum, s + '(', result)
# if rightnum > 0 and leftnum < rightnum:
# generate(leftnum, rightnum - 1, s + ')', result)
# result = []
# s = ''
# generate(n, n, s, result)
# return result