File tree Expand file tree Collapse file tree 2 files changed +57
-0
lines changed
lcof2/剑指 Offer II 036. 后缀表达式 Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Original file line number Diff line number Diff line change @@ -217,6 +217,37 @@ func popInt(stack *arraystack.Stack) int {
217
217
}
218
218
```
219
219
220
+ #### Swift
221
+
222
+ ``` swift
223
+ class Solution {
224
+ func evalRPN (_ tokens : [String ]) -> Int {
225
+ var stk = [Int ]()
226
+
227
+ for token in tokens {
228
+ if let num = Int (token) {
229
+ stk.append (num)
230
+ } else {
231
+ let y = stk.removeLast ()
232
+ let x = stk.removeLast ()
233
+ switch token {
234
+ case " +" :
235
+ stk.append (x + y)
236
+ case " -" :
237
+ stk.append (x - y)
238
+ case " *" :
239
+ stk.append (x * y)
240
+ default :
241
+ stk.append (x / y)
242
+ }
243
+ }
244
+ }
245
+
246
+ return stk.removeLast ()
247
+ }
248
+ }
249
+ ```
250
+
220
251
<!-- tabs: end -->
221
252
222
253
<!-- solution: end -->
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ func evalRPN( _ tokens: [ String ] ) -> Int {
3
+ var stk = [ Int] ( )
4
+
5
+ for token in tokens {
6
+ if let num = Int ( token) {
7
+ stk. append ( num)
8
+ } else {
9
+ let y = stk. removeLast ( )
10
+ let x = stk. removeLast ( )
11
+ switch token {
12
+ case " + " :
13
+ stk. append ( x + y)
14
+ case " - " :
15
+ stk. append ( x - y)
16
+ case " * " :
17
+ stk. append ( x * y)
18
+ default :
19
+ stk. append ( x / y)
20
+ }
21
+ }
22
+ }
23
+
24
+ return stk. removeLast ( )
25
+ }
26
+ }
You can’t perform that action at this time.
0 commit comments