LeetCode 22_ 括号生成

1. 题目描述

LeetCode 22_ 括号生成

 

注: 回溯法

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

思路:

LeetCode 22_ 括号生成

 

 

LeetCode 22_ 括号生成

 

 

LeetCode 22_ 括号生成

 

上一篇:leetcode算法题基础(十三)回溯法(三)77. 组合


下一篇:leetcode 回溯法解题