Merge pull request #1422 from fmtvar/150

添加 (0150.逆波兰表达式求值.md):PHP版本
This commit is contained in:
程序员Carl
2022-07-05 09:51:18 +08:00
committed by GitHub

View File

@ -325,6 +325,33 @@ func evalRPN(_ tokens: [String]) -> Int {
return stack.last!
}
```
PHP
```php
class Solution {
function evalRPN($tokens) {
$st = new SplStack();
for($i = 0;$i<count($tokens);$i++){
// 是数字直接入栈
if(is_numeric($tokens[$i])){
$st->push($tokens[$i]);
}else{
// 是符号进行运算
$num1 = $st->pop();
$num2 = $st->pop();
if ($tokens[$i] == "+") $st->push($num2 + $num1);
if ($tokens[$i] == "-") $st->push($num2 - $num1);
if ($tokens[$i] == "*") $st->push($num2 * $num1);
// 注意处理小数部分
if ($tokens[$i] == "/") $st->push(intval($num2 / $num1));
}
}
return $st->pop();
}
}
```
Scala:
```scala
object Solution {
@ -351,6 +378,7 @@ object Solution {
// 最后返回栈顶不需要加return关键字
stack.pop()
}
}
```
-----------------------