Skip to content

Commit 4434d63

Browse files
authoredMay 24, 2024
feat: add swift implementation to lcof problem: No.31 (doocs#2901)
1 parent 770693e commit 4434d63

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed
 

‎lcof/面试题31. 栈的压入、弹出序列/README.md

+21
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,27 @@ public class Solution {
208208
}
209209
```
210210

211+
#### Swift
212+
213+
```swift
214+
class Solution {
215+
func validateStackSequences(_ pushed: [Int], _ popped: [Int]) -> Bool {
216+
var stack = [Int]()
217+
var j = 0
218+
219+
for v in pushed {
220+
stack.append(v)
221+
while !stack.isEmpty && stack.last == popped[j] {
222+
stack.removeLast()
223+
j += 1
224+
}
225+
}
226+
227+
return j == pushed.count
228+
}
229+
}
230+
```
231+
211232
<!-- tabs:end -->
212233

213234
<!-- solution:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
func validateStackSequences(_ pushed: [Int], _ popped: [Int]) -> Bool {
3+
var stack = [Int]()
4+
var j = 0
5+
6+
for v in pushed {
7+
stack.append(v)
8+
while !stack.isEmpty && stack.last == popped[j] {
9+
stack.removeLast()
10+
j += 1
11+
}
12+
}
13+
14+
return j == pushed.count
15+
}
16+
}

0 commit comments

Comments
 (0)
Please sign in to comment.