LeetCode 22_ 括号生成

1. 题目描述

 

注: 回溯法

2. 代码

 1 class Solution:
 2     def generateParenthesis(self, n: int) -> List[str]:
 3         y = list()
 4         string = '('
 5         L = 1
 6         R = 0
 7         self.BackTrack(L,R,n,string,y)
 8         return y
 9 
10     def BackTrack(self,L,R,n,string,y):
11         if L == R == n:
12             y.append(string)
13         elif L == n and R < n:
14             self.BackTrack(L,R+1,n,string + ')',y)
15         elif L < n and R < n:
16             self.BackTrack(L+1,R,n,string + '(',y)
17             if L > R:
18                 self.BackTrack(L,R+1,n,string + ')',y)
19         return

思路:

 

 

 

 

 

posted @ 2020-10-25 10:28  vv_869  阅读(104)  评论(0编辑  收藏  举报