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