mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-12 21:50:49 +08:00
@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
-----------------------
|
||||
|
Reference in New Issue
Block a user