添加 150. 逆波兰表达式求值 Swift版本

This commit is contained in:
极客学伟
2021-11-30 14:07:32 +08:00
parent bb4abede00
commit 77b31bb0ca

View File

@ -241,6 +241,38 @@ class Solution:
```
Swift
```Swift
func evalRPN(_ tokens: [String]) -> Int {
var stack = [Int]()
for c in tokens {
let v = Int(c)
if let num = v {
// 遇到数字直接入栈
stack.append(num)
} else {
// 遇到运算符, 取出栈顶两元素计算, 结果压栈
var res: Int = 0
let num2 = stack.popLast()!
let num1 = stack.popLast()!
switch c {
case "+":
res = num1 + num2
case "-":
res = num1 - num2
case "*":
res = num1 * num2
case "/":
res = num1 / num2
default:
break
}
stack.append(res)
}
}
return stack.last!
}
```
-----------------------
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>