Leetcode 22. Generate Parentheses(python)
笨笨的回溯
感觉自己代码很丑。。
class Solution(object):
def generateParenthesis(self, n):
"""
:type n: int
:rtype: List[str]
"""
res=""
solution=[]
self.backtrack(res,solution,n,0,0)
return solution
def backtrack(self,res,solution,n,l,r):
if r>l:
return
if len(res)==2*n:
solution.append(res)
return
candidate=[]
if l<n: candidate.append('(')
if r<n: candidate.append(')')
for i in range(len(candidate)):
res+=candidate[i]
if candidate[i]=='(':
l+=1
self.backtrack(res,solution,n,l,r)
res=res[:-1]
l-=1
else:
r+=1
self.backtrack(res,solution,n,l,r)
res=res[:-1]
r-=1

浙公网安备 33010602011771号