File tree Expand file tree Collapse file tree 3 files changed +72
-0
lines changed Expand file tree Collapse file tree 3 files changed +72
-0
lines changed Original file line number Diff line number Diff line change @@ -190,6 +190,31 @@ var generateParenthesis = function (n) {
190
190
};
191
191
```
192
192
193
+ ``` swift
194
+ class Solution {
195
+ private var ans: [String ] = []
196
+ private var n: Int = 0
197
+
198
+ func generateParenthesis (_ n : Int ) -> [String ] {
199
+ self .n = n
200
+ dfs (l : 0 , r : 0 , t : " " )
201
+ return ans
202
+ }
203
+
204
+ private func dfs (l : Int , r : Int , t : String ) {
205
+ if l > n || r > n || l < r {
206
+ return
207
+ }
208
+ if l == n && r == n {
209
+ ans.append (t)
210
+ return
211
+ }
212
+ dfs (l : l + 1 , r : r, t : t + " (" )
213
+ dfs (l : l, r : r + 1 , t : t + " )" )
214
+ }
215
+ }
216
+ ```
217
+
193
218
<!-- tabs: end -->
194
219
195
220
<!-- end -->
Original file line number Diff line number Diff line change @@ -197,6 +197,31 @@ var generateParenthesis = function (n) {
197
197
};
198
198
```
199
199
200
+ ``` swift
201
+ class Solution {
202
+ private var ans: [String ] = []
203
+ private var n: Int = 0
204
+
205
+ func generateParenthesis (_ n : Int ) -> [String ] {
206
+ self .n = n
207
+ dfs (l : 0 , r : 0 , t : " " )
208
+ return ans
209
+ }
210
+
211
+ private func dfs (l : Int , r : Int , t : String ) {
212
+ if l > n || r > n || l < r {
213
+ return
214
+ }
215
+ if l == n && r == n {
216
+ ans.append (t)
217
+ return
218
+ }
219
+ dfs (l : l + 1 , r : r, t : t + " (" )
220
+ dfs (l : l, r : r + 1 , t : t + " )" )
221
+ }
222
+ }
223
+ ```
224
+
200
225
<!-- tabs: end -->
201
226
202
227
<!-- end -->
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ private var ans : [ String ] = [ ]
3
+ private var n : Int = 0
4
+
5
+ func generateParenthesis( _ n: Int ) -> [ String ] {
6
+ self . n = n
7
+ dfs ( l: 0 , r: 0 , t: " " )
8
+ return ans
9
+ }
10
+
11
+ private func dfs( l: Int , r: Int , t: String ) {
12
+ if l > n || r > n || l < r {
13
+ return
14
+ }
15
+ if l == n && r == n {
16
+ ans. append ( t)
17
+ return
18
+ }
19
+ dfs ( l: l + 1 , r: r, t: t + " ( " )
20
+ dfs ( l: l, r: r + 1 , t: t + " ) " )
21
+ }
22
+ }
You can’t perform that action at this time.
0 commit comments