Skip to content

Commit bfcac26

Browse files
authored
feat: add swift implementation to lcci problem: No.08.09 (doocs#2695)
1 parent 89dd182 commit bfcac26

File tree

3 files changed

+72
-0
lines changed

3 files changed

+72
-0
lines changed

lcci/08.09.Bracket/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,31 @@ var generateParenthesis = function (n) {
190190
};
191191
```
192192

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+
193218
<!-- tabs:end -->
194219

195220
<!-- end -->

lcci/08.09.Bracket/README_EN.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,31 @@ var generateParenthesis = function (n) {
197197
};
198198
```
199199

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+
200225
<!-- tabs:end -->
201226

202227
<!-- end -->

lcci/08.09.Bracket/Solution.swift

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
}

0 commit comments

Comments
 (0)